В чем разница 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