Rspec示例中的条件标记

时间:2011-05-12 15:00:33

标签: rspec

我的rspec示例目前看起来像这样

describe Zipcode do
  before :each do
    # comment out to use live web service
    @mocking_geokit = true

    if @mocking_geokit
      MultiGeocoder.stub( :geocode ) { mock( Geokit::GeoLoc, :zip => '77005', :city => 'Houston', :state => 'TX', :success => true ) }
      MultiGeocoder.stub( :geocode ).with('00000') { mock( :success => false ) }
      MultiGeocoder.stub( :geocode ).with('123456') { mock( :success => false ) }
    end
  end

我想更改它,所以@mocking_geokit是基于@tag设置的。我更喜欢没有两组独立的例子,因为测试是相同的,只是模拟的变化。感谢。

2 个答案:

答案 0 :(得分:1)

你有没有看过VCR?太棒了。

答案 1 :(得分:0)

我不完全确定我理解你的问题(你想要测试同样的东西两次,一次是使用存根而一次没有?这不是多余的吗?),但是你可以完成任何你想做的事情{{ 3}}和/或filters