在我的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
$