1

This is my spec/helper.rb file:

require 'minitest/autorun'
require 'minitest/spec'
require_relative '../lib/launcher'

class MiniTest::Spec
  include MiniTest::Assertions
end

And this is the spec file:

require 'helper'

describe Launcher do
  it "should get the stdout" do
    out, err = capture_io do
      warn "You did a bad thing"
    end
    err.should =~ /bad/
  end
end

But when I run the spec:

± rake spec                                                                                                          
/Users/millisami/.rvm/rubies/ruby-1.9.3-p194/bin/ruby -S rspec ./spec/launcher_spec.rb -Ispec:lib
F

Failures:

  1) Launcher should be a launcher for cloud
     Failure/Error: out, err = capture_io do
     NoMethodError:
       undefined method `capture_io' for #<RSpec::Core::ExampleGroup::Nested_1:0x000001012a4840>
     # ./spec/launcher_spec.rb:5:in `block (2 levels) in <top (required)>'

Finished in 0.00044 seconds
1 example, 1 failure

Failed examples:

rspec ./spec/launcher_spec.rb:4 # launcher should be a launcher for cloud
rake aborted!
/Users/millisami/.rvm/rubies/ruby-1.9.3-p194/bin/ruby -S rspec ./spec/launcher_spec.rb -Ispec:lib failed

Tasks: TOP => spec

But when I do this with the default MiniTest::Unit way, it works? And why not the spec way?

4

1 に答える 1

1

spec_helper.rb は次のようになります。

require 'minitest/unit'
RSpec.configure do |c|
  c.include MiniTest::Assertions
end
于 2013-05-14T18:53:42.300 に答える