Моя платформа: Visual С# 2008 Express Edition с NUnit 2.2.7
У меня есть решение с моим кодом в одном проекте, а мои модули NUnit тестируются в другом проекте в том же решении.
Я изо всех сил старался отлаживать и выполнять одно шаг через тесты NUnit. Я нашел несколько ссылок в Интернете, в которых предлагалось вызвать следующее:
NUnit.ConsoleRunner.Runner.Main(args);
Но это даже не компилируется - у него есть ошибка компилятора:
Ошибка 1 Тип или имя пространства имен "Бегун" не существует в namespace 'NUnit.ConsoleRunner' (есть вам не хватает ссылки на сборку?)
Я добавил каждую ссылку на сборку, которую я мог найти, без эффекта.
Наконец, это то, что я взломал вместе, и это работает, но, возможно, вы, хорошие читатели, могли бы предложить лучшее решение:
1) В моем тестовом проекте имя класса тестового примера, которое я хочу отлаживать, это MyTestClass. Он имеет метод [TestFixtureSetUp] с именем Init(), и фактический тестовый пример находится в функции [Test] MyTest()
2) В моем проекте кода у меня есть консольная программа TestProgram.cs, которая компилируется в EXE.
В TestProgram.cs я вызываю тестовые примеры следующим образом
// First instantiate the test class
MyTestClass tc = new MyTestClass();
// Call the TestFixtureSetup method
tc.Init();
// Now call the actual test
tc.MyTest();
Это работает, и я могу отлаживать и выполнять один шаг через тестовые примеры.
Если у кого-то есть лучшие предложения, использующие Visual Studio 2008 Express, не платя за дополнительные плагины, я ценю ваш совет.