Как настроить minitest для интеграционных тестов, используя стиль модуля - PullRequest
6 голосов
/ 09 марта 2012

Я нашел ресурсы для настройки Rails для использования Minitest. К сожалению, большинство ресурсов предполагают использование Minitest Spec для всех типов тестов или, в лучшем случае, по крайней мере для интеграционных тестов.

Я могу быть "винтажным", но я чувствую, что тесты аля проверки: единица работает для меня лучше, чем стиль rspec. Я бы использовал стиль объявления MiniTest :: Unit вместе с Capybara для запуска интеграционных тестов.

Мне интересно посмотреть на примеры minitest_helper.rb и some_model_integration_test.rb, чтобы понять соответствующие элементы конфигурации, которые мне нужно установить, чтобы тест интеграции хорошо работал с Capybara.

Может кто-нибудь объяснить, как настроить Rails для этого?

1 Ответ

9 голосов
/ 09 марта 2012

Мой articles_integration_test.rb:

require 'test_helper'

class ArticlesIntegrationTest < IntegrationTest

  def test_shows_article_title
    article = Article.create!(title: 'Foo bar')
    visit article_path(article)
    assert page.has_content?('Foo bar')
  end

end

Мой test_helper.rb:

ENV["RAILS_ENV"] = "test"
require File.expand_path("../../config/environment", __FILE__)
require "minitest/autorun"
require "capybara/rails"
require "active_support/testing/setup_and_teardown"

class IntegrationTest < MiniTest::Unit::TestCase
  include Rails.application.routes.url_helpers
  include Capybara::DSL
end
...