2015-01-07 1 views
2

Указан в руководстве по обновлению Rails 5 will order tests randomly. Тривиально возвращаться к фиксированному порядку, но мне просто интересно, почему это изменение было сделано? Поддерживает ли это параллельное тестирование?Почему Rails 5 заказывает тестовые случаи случайным образом?

ответ

6

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

+0

Я думаю, что это так, но я чувствую, что лучше всего будет периодически запускать целую батарею целых комплектов в разных случайных заказах. А затем для регулярных регрессионных тестов, чтобы проверить изменение кода, продолжайте тестирование в детерминированном порядке, чтобы мне не пришлось беспокоиться о том, было ли это изменение кода, которое вызвало внезапный разрыв теста или изменение заказа. По крайней мере, мне нужна возможность вернуться и выполнить тот же самый порядок тестирования, что и предыдущий успешный прогон. – mahemoff

+0

Если реализация Rails 5 работает как и большинство вещей, должно быть семя для случайного заказа, напечатанного при запуске тестов. Должен быть способ указать, чтобы тесты использовали это семя при повторном запуске (используйте один и тот же «случайный» порядок). Я вообще не использовал Rails 5, поэтому я не могу сказать вам **, как это сделать, конечно. – ptd

+0

Я тоже. Надеюсь, он работает, как вы описываете, с занесенным в журнал. – mahemoff

0

реферируемых в Rails 5 Awesome features

Rails 5 Тестовые порядок случайным образом, новый бегун, на самом деле, моя любимая часть Rails 5. Я люблю MiniTest, и я всегда был немного завидую пользователей RSpec, так как они есть большой бегун, который позволяет указать номер файла и строки неудачной спецификации.

Теперь, благодаря Ивсу Сенну, у нас есть та же функция при использовании миниатюрного Rails.

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