Minitest-rails не соответствует моим спецификациям

РЕДАКТИРОВАТЬ: проблема заключалась в том, что мы все еще использовали rspec, и вы не можете использовать спецификацию DSL в минитесте, все еще используя rspec.

Я использую minitest 4.7 с rails 4.0 и autotest-rails 4.2.1, и с тестами, напоминающими test::unit, все отлично. Однако я пытался заставить его запускать спецификации в стиле rspec, и ни автотест, ни rake test:models не обнаружили ни одной из спецификаций.

Вот результат (с удаленными необоснованными предупреждениями), когда я обновляю rating_test.rb:

/opt/boxen/rbenv/versions/2.0.0-p247/bin/ruby -I.:lib:test -rubygems -e "%w[minitest/autorun test/models/rating_test.rb].each { |f| require f }"
Run options: --seed 28285

# Running tests:



Finished tests in 0.003822s, 0.0000 tests/s, 0.0000 assertions/s.

0 tests, 0 assertions, 0 failures, 0 errors, 0 skips

Говорит, что ничего нет. Вот рейтинг_test.rb:

require 'test_helper'

describe Rating do
  let(:rating) {Rating.new(score: score, category: category)}
  let(:score) { 100 }
  let(:category) {Rating.categories[0]}

  describe "score" do
    it "can be 100" do
      puts "this doesn't show up"
      rating.valid?.should == true
      assert_equal true, rating.valid?
    end
  end
end

Как видите, я попробовал как простой ввод (который не отображается), так и оба стиля утверждений (ни один из которых не обнаруживается автозапуском).

Единственное, в чем я не уверен, так это в том, что мой test_helper правильный. Я создал свой, сопоставив инструкции Readme и эту статью, которая странно противоречат друг другу, так как написаны одним и тем же автором.

Вот мой файл test_helper.rb.

ENV["RAILS_ENV"] = "test"
require File.expand_path("../../config/environment", __FILE__)
require "rails/test_help"
require "minitest/spec"

require "minitest-matchers"
require "email_spec"

class ActiveSupport::TestCase
  fixtures :all

  extend MiniTest::Spec::DSL
  register_spec_type self do |desc|
    desc < ActiveRecord::Base if desc.is_a? Class
  end
end

person Jeffrey Biles    schedule 29.12.2013    source источник


Ответы (1)


Проблема заключалась в том, что мы все еще использовали rspec, и вы не можете использовать спецификацию DSL в минитесте, продолжая использовать rspec.

person Jeffrey Biles    schedule 29.12.2013