В чем разница B / w minitest-rails и minitest-spec-rails?

изучение использования Minitest для существующих Rails 3.2. Я пытаюсь понять разницу между minitest-rails и minitest-spec-rails.

2 ответов


основные различия между minitest-spec-rails и minitest-рельсы - это объем проблем, которые они решают.

minitest-spec-rails

minitest-spec-rails переопределяет тестовую инфраструктуру, предоставляемую Rails по умолчанию, и добавляет возможность использовать Minitest Spec DSL и сопоставители в тестах. Это означает, что вам не нужно вносить какие-либо изменения в существующие тесты, чтобы начать использовать спец МКД. Это также означает, что спецификация DSL доступен в каждом тесте.

minitest-рельсы

minitest-rails добавляет возможность использования спецификации DSL, но также изменяет подход к написанию тестов. Он предоставляет новые генераторы для ваших тестов и позволяет вам выбирать из утверждений TDD-стиля или ожиданий BDD-стиля. Он размещает тестовые файлы в более удобных местах.

Он также позволяет вашим существующим тестам жить бок о бок с вашими новыми мини-тестами. У вас есть возможность переопределите инфраструктуру тестирования по умолчанию, аналогичную minitest-spec-rails, но у вас также есть возможность оставить их нетронутыми.

отказ от ответственности: я автор minitest-rails


С minitest-spec-rails у нас есть рабочее решение, заменив MiniTest::Spec как суперкласс для ActiveSupport::TestCase. Это простое решение не требует повторного создания нового тестового набора в test_helper.rb или использовать генераторы, поставляемые драгоценными камнями, такими как minitest-rails.

Minitest изменения для испытывать внутри рельсы. Ваши тестовые классы наследуют от MiniTest::рельсы::ActiveSupport::тесткейса в отличие от ActiveSupport::тесткейса. Вы можете использовать MiniTest:: Spec DSL. Вы можете создавать тестовые файлы со стандартной моделью, контроллером, ресурсом и другими генераторами.

rails generate model User 

или

и вы можете указать генерацию тестов с помощью MiniTest:: Spec DSL на любом из генераторов, предоставив опцию --spec

rails generate model User --spec