У меня есть тест, который работает локально нормально (в 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. Но не уверен, куда идти и изменить настройки.
Любые указатели были бы очень полезны.
Спасибо, что уделили нам время.