Два тестовых проекта в одном решении app.config (Visual Studio 2008 Professional) - PullRequest
1 голос
/ 05 февраля 2009

У меня есть 2 проекта, каждый со своим собственным модульным тестовым проектом, и один app.config для каждой пары проект + тестовый проект. Тесты не проваливаются, если я запускаю только один раз. Но если использовать «Запустить все тесты в решении», то во всех тестах будет использоваться только один из app.config, и он будет неправильным для всех тестов в одном из этих тестовых проектов.

Как запустить все тесты из одного проекта без необходимости использовать отдельные решения, чтобы они не использовали app.config другого проекта?

1 Ответ

2 голосов
/ 06 февраля 2009

Не думаю, что ты сможешь. Вероятно, проблема в том, что Visual Studio просто передает один список тестов в MSTest. MSTest при запуске будет использовать файл конфигурации первого .DLL, с которым он сталкивается.

По соображениям производительности MSTest не будет разрывать / раскручивать новый процесс, когда он встречает тест в другом .DLL, и поэтому он никогда не загрузит второй файл конфигурации.

На мой взгляд, у вас есть два варианта.

  1. Объедините файлы конфигурации, чтобы они могли быть общими для всех тестов.

  2. Измените ваши тесты, чтобы им не требовались файлы конфигурации. Тот факт, что они у вас есть, говорит о том, что вы выполняете интеграционные тесты, а не модульные тесты, которые изолированы от их зависимостей, хотя, если у вас сложная база кода, я могу понять, почему это происходит.

...