Minitest-rails并没有提到我的规格

时间:2013-12-29 22:23:54

标签: ruby-on-rails rspec ruby-on-rails-4 tdd minitest

编辑:问题是我们仍在使用rspec,并且在使用rspec时你不能在minitest中使用规范DSL。

我正在使用带有rails 4.0和autotest-rails 4.2.1的minitest 4.7,并且它的测试类似于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

它说什么都没有。这是rating_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

正如你所看到的,我尝试了两种简单的put(不显示)以及两种断言方式(自动运算都没有检测到)。

我唯一不确定的是我的test_helper是否正确。我通过将自述文件和this article拼凑在一起来创建我的,因为它们是由同一作者编写的,因此很奇怪。

这是我的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

1 个答案:

答案 0 :(得分:1)

问题是我们仍在使用rspec,并且在使用rspec时你不能在minitest中使用规范DSL。