2011-01-25 2 views
1

У меня возникла интересная ситуация. В моей тестовой сборке у меня есть папки, имеющие определенные тестовые классы, то есть TestFixture. Рассмотрим, например, следующую иерархию в VS:Ошибка nUnit при запуске как часть большего пространства имен

 
Sol 
    TestProject 
    TestFolder1 
     TestClass1 
     TestClass2 
    TestFolder2 
     TestClass3 

Теперь, когда я запускаю следующую командную строку:

nunit-console.exe /run:Sol.TestProject.TestFolder1.TestClass2 TestProject.dll 

Все идет отлично и все тесты проходят. Но, если я бегу, как показано ниже:

nunit-console.exe /run:Sol.TestProject.TestFolder1 TestProject.dll 

В этом случае некоторые из тестов в TestClass2 терпят неудачу.

Я попытался сбросить состояние некоторых из соответствующих объектов, участвующих в тесте, и состояние показалось хорошим в начале тестового кода в обоих случаях. Кроме того, у TestClass1/2/3 нет суперкласса, который делает что-то, что тоже исключается. Любые идеи, что еще может происходить здесь?

Я использую VS2010/.NET4.0 (4.0.30319.1)/nUnit 2.5.9.

ответ

0

Наконец-то понял это. Я использовал singleton class для хранения определенных опций. Похоже, что экземпляр класса singleton сохраняется между прогонами разных TestFixtures (например, тестовых классов), когда они запускаются вместе, например, для папки или для проекта. Первоначально я не сбрасывал состояние этого объекта, потому что я думал, что класс singleton будет иметь новый экземпляр для каждого из TestFixtures. Интересный вывод, надеюсь, это поможет кому-то.

 Смежные вопросы

  • Нет связанных вопросов^_^