Мы используем тест-тестировщик VS 2010 (MSTest) для автоматического функционального тестирования. Когда мы запускаем тесты из Visual Studio, VS создает процесс под названием QTAgent32.exe, и он запускает тесты в этом процессе.
Мы обнаружили, что, когда мы выполняем несколько тестовых прогонов, MSTest повторно использует один и тот же процесс QTAgent32 - идентификатор процесса не изменяется. Это проблема для нас, поскольку код, который мы тестируем, - это P/Invoking для неуправляемой библиотеки DLL. DLL необходимо инициализировать только один раз в течение всего жизненного цикла процесса. У нас есть метод [AssemblyInitialize], но он выполняется один раз для каждого тестового прогона. Если мы выполним несколько тестовых прогонов, он будет выполняться несколько раз в том же процессе.
Каждый раз, когда мы выполняем тестовый прогон, MSTest создает новый appdomain; но все эти приложения находятся в одном процессе.
Итак, мне интересно: есть ли способ показать тестировщику Visual Studio использовать новый процесс каждый раз, когда мы запускаем тесты? Я просмотрел конфигурацию ".testsettings", но ничего не увидел.