Невозможно запустить MSTests, которые управляются данными в Build Machine - PullRequest
0 голосов
/ 02 июля 2019

У меня есть тест, который работает локально нормально (в Visual Studio) Это тест MSTest, и он основан исключительно на данных. Отлично работает на моем локальном компьютере с использованием Visual Studio.

Тест выглядит так

[TestMethod]
[TestCategory("APITests")]
[DataSource("System.Data.Odbc",
"Dsn=Excel Files;" +
"Driver={Microsoft Excel Driver (*.xls)};" +
"dbq=|DataDirectory|\\APITestData.xls;" +        
"defaultdir=.;" +
"driverid=790;" +
"maxbuffersize=2048;" +
"pagetimeout=5;" +
"readonly=true",
"APITestData$", 
DataAccessMethod.Sequential)]
[DeploymentItem("APITestData.xls")]
public void MyMethod(var info)
{
    //UNIT TEST CASE CODE
}

Все работает нормально, и я вижу отдельные результаты в Test Explorer из Visual Studio.

Когда я запускаю это как сборочную машину, изначально у меня возникает проблема, такая как Data Source not found.

ОШИБКА [IM002] [Microsoft] [Диспетчер драйверов ODBC] Источник данных не найден и драйвер по умолчанию не указан

Позже обнаружилось, что логин машины сборки отличается, и процесс, который запускает сборку Visual Studio, отличается. Следовательно, мне нужно убедиться, что поверх пользователя dsn мне нужно установить драйвер excel odbc для системы dsn.

После настройки, теперь я получаю другую ошибку

Адаптер модульного тестирования не смог подключиться к источнику данных или прочитать данные. Сведения об ошибке: ОШИБКА [IM006] [Microsoft] [Диспетчер драйверов ODBC] Ошибка SQLSetConnectAttr драйвера.

Не уверен, как решить эту проблему. Перепробовал все вещи. Но когда я запускаю visual studio в сборочной машине и запускаю тест, все работает нормально. Что-то связанное с учетной записью службы, на которой выполняется сборка TFS. Но не уверен, куда идти и изменить настройки.

Любые указатели были бы очень полезны.

Спасибо, что уделили нам время.

...