在rspec测试中放入方法

ted*_*ted 19 ruby rspec

my_file_spec.rb:

require 'spec_helper'
require 'my_file'

module M
  describe C do
    it 'should print everything' do
      c = C.new
      c.meth.should == "something"
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

my_file.rb:

module M
  class C
    puts "class TEXT" # label1
    def meth
     puts "method TEXT" # label2
     return "something"
    end
  end
end 
Run Code Online (Sandbox Code Playgroud)

输出是:

class TEXT

M::C
  should print everything

Finished in 0.75 seconds
1 example, 0 failures
Run Code Online (Sandbox Code Playgroud)

最后问题是:" label2测试运行后为什么不打印 - ("方法TEXT")?"

PS Ruby192,rspec2

dav*_*rac 32

尝试使用$stderr.puts "method TEXT".这适合我.请注意,编写具有您需要手动检查的输出的测试被认为是不好的做法,但我想您已经知道......