在我的rspec测试 运行期间如何启动irb ?
本质上,我希望能够玩各种东西,然后在程序的相应实例上运行我的rspec测试。我能够在程序的常规运行时成功地做到这一点,但是当我尝试在rspec测试运行时启动irb时遇到问题。
常规运行时间
test.rb
#!/usr/bin/env ruby
require 'irb'
puts 'hello world'
IRB.start
puts 'goodbye world'
运行
$ ./test.rb 
hello world
1.9.3-p194 :001 > puts 'yo'
yo
 => nil 
1.9.3-p194 :002 > exit
goodbye world
rspec运行时
test_spec.rb
require 'spec_helper'
require 'irb'
describe "irb" do
  it "should print 'hello world', launch irb, upon exiting irb print 'goodbye world'" do
    puts 'hello world'
    IRB.start
    puts 'goodbye world'
  end
end
运行
$ rake spec
/Users/username/.rvm/rubies/ruby-1.9.3-p194/bin/ruby -S rspec ./spec/test_spec.rb
Run options: include {:focus=>true}
All examples were filtered out; ignoring {:focus=>true}
hello world
1.9.3p194 :001 > require 'spec_helper'
 => false
1.9.3p194 :002 > require 'irb'
 => false
1.9.3p194 :003 >
1.9.3p194 :004 >   describe "irb" do
1.9.3p194 :005 >       it "should print 'hello world', launch irb, upon exiting irb print 'goodbye world'" do
1.9.3p194 :006 >           puts 'hello world'
1.9.3p194 :007?>         IRB.start
1.9.3p194 :008?>         puts 'goodbye world'
1.9.3p194 :009?>       end
1.9.3p194 :010?>   end1.9.3p194 :010?>
 => RSpec::Core::ExampleGroup::Nested_2
1.9.3p194 :010 >
goodbye world
.
Finished in 0.10321 seconds
1 example, 0 failures
Randomized with seed 62613
$