Application.ExecutablePath возвращает разные значения в зависимости от участника теста? - PullRequest
3 голосов
/ 10 ноября 2008

Я пытаюсь выяснить, есть ли способ получить согласованный результат модульного теста для нескольких участников теста. В настоящее время у нас есть тестовая сборка, где 4 теста проходят, если вы запускаете их в графическом интерфейсе NUnit, но терпите неудачу, если вы запускаете их с помощью TestDriven.NET или инструмента запуска ReSharper. В тех случаях, когда эти тесты не выполняются (генерируется исключение System.NullReferenceException), Application.ExecutablePath, по-видимому, возвращает исполняемый файл организатора теста вместо библиотеки DLL тестовой сборки.

Есть ли значение, отличное от Application.ExecutablePath, которое я должен использовать (в настоящее время мы используем его для получения доступа к значениям в файле .config для DLL)? Что делает (или не делает) графический интерфейс NUnit, что приводит к тому, что он ведет себя правильно, в то время как другие тестеры не работают?

1 Ответ

4 голосов
/ 10 ноября 2008

Вместо этого вы можете попробовать использовать класс System.Reflection.Assembly, например,

String strPath = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().CodeBase);

В этом классе есть несколько других методов и свойств, поэтому я уверен, что вы найдете то, что вам нужно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...