2008-11-10 6 views
3

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

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

ответ

4

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

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

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

+0

Спасибо Grzenio. Эта часть вашего ответа (System.Reflection.Assembly.GetExecutingAssembly(). CodeBase) привела меня к исправлению. – 2008-11-17 14:16:56