Запускать модульные тесты Visual Studio против запуска модульных тестов ReSharper, различия? - PullRequest
4 голосов
/ 04 марта 2010

Итак, я столкнулся с множеством интересных проблем в VisualStudio 2008 при запуске модульных тестов.

Например, при выполнении модульных тестов Visual Studio некоторые тесты не проходят вместе, но проходят по отдельности.Это происходит потому, что некоторые переменные уровня класса в этом тестовом классе повторно используются в модульных тестах.

Теперь обычно я заходил в каждый класс и решал эту проблему вручную!Тем не менее, речь идет о тестах, которые варьируются в тысячах!

Теперь перед нами интересная дилемма, использующая и ReSharper Unit Tests, и TFS BuildServer, которые они проходят вместе!В любом случае, я мог бы настроить VS Unit Test Solution для работы таким же образом?Я хочу избежать вызова методов [TestInitialize] в методах [TestCleanup].

1 Ответ

4 голосов
/ 04 марта 2010

Обычно это побочный продукт тестов с разным порядком. ReSharper 4.x и более ранние версии запускают модульные тесты в порядке их появления в исходном файле. Практически все остальные юниты запускают тесты в алфавитном порядке. Этот другой порядок может (но никогда не должен) влиять на то, пройдены или нет тесты (на основе оставшихся данных в базе данных или статики).

ReSharper 5.0 больше не использует пользовательский бегун, поэтому он должен исправить эти несоответствия.

Однако этот тип несоответствия указывает на проблему в тестах. Некоторые оставляют после себя данные, которые следует очистить, а некоторые зависят от данных, оставшихся от предыдущего теста, или пострадают от них.

...