2014-11-20 3 views
0

Я использую Maven 3.2.3, SureFire 2.17, JUnit 4.11 и Eclipse Juno на Mac 10.9.5. Я заметил, что когда я бегу мои JUnit тестов с помощью командной строкиЗаставляет Eclipse запускать тесты JUnit в том же порядке, что и Maven, их запускает

mvn test -Dtest=MyTest 

отдельные тесты внутри файла «MyTest.java» запустить в другом порядке, чем при запуске их в Eclipse (щелкнув правой кнопкой мыши имя класса и выберите «Run As -> JUnit Test»). Как получить Eclipse для запуска тестов в том же порядке, в котором они запускаются в командной строке?

Спасибо, - Дэйв

+2

Если порядок выполнения ваших тестов влияет на результат, это предполагает, что у вас есть зависимости между тестами, которые являются запахами кода. Если это так, рекомендуется рефакторинг. – Asaph

+0

Я ценю ваш совет. Но это был не мой вопрос. –

+0

Зачем вам в каком порядке проводятся тесты? – Asaph

ответ

0

Порядок JUnit тестовых прогонов не гарантируется конструкцией, как указано в JUnit FAQ page .Это делается для продвижения концепции тест независимости, это будет убедиться, что тесты будут проверять их случаи четко и независимо, а также облегчить ремонтопригодность.

Это означает, что когда вы запускаете тесты в Eclipse, заказы не гарантируются и меняются. В "Can I change JUnit execution order?" объясняется, как вы можете исправить заказ, хотя это не очень хорошая практика.

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