Почему мои тесты NUnit выполняются в другом порядке, чем они перечислены? - PullRequest
2 голосов
/ 24 апреля 2010

Почему мои тесты NUnit выполняются в другом порядке, чем они перечислены?

А от чего зависит порядок исполнения?

Ответы [ 3 ]

3 голосов
/ 24 апреля 2010

Это зависит от того, как бегун организует их после размышлений о вашей тестовой сборке. Каждый бегун может сделать это по-своему.

Например, бегун Reshaper работает в алфавитном порядке.

Но существенная проблема здесь заключается в том, что тесты NUnit не должны иметь последовательных условий или зависимостей.

Если вам нужно, чтобы тесты зависели от других тестов, используйте MbUnit. Этот является примером зависимости фикстуры с использованием DependsOnAttribute.

2 голосов
/ 24 апреля 2010

Они запускаются в алфавитном порядке, как упоминалось. Если вы откроете тестовую DLL в GUI NUnit, вы увидите порядок.

Несмотря на это, порядок выполнения модульных тестов должен не иметь значение. Юнит-тест должен быть изолирован и независим , поэтому порядок не должен быть проблемой.

2 голосов
/ 24 апреля 2010

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

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