RSpec测试一系列动作

时间:2011-09-12 22:39:15

标签: ruby-on-rails testing rspec

我想要使用RSpec测试一个复杂的事务过程。我想在每一步之后进行一些检查。我只知道如何在单独的动作中测试它们。因此,在每个步骤中,我必须添加我在前面的步骤中指定的操作,如下所示:

it "should add money to account A through deposit"
  a.deposit(10)
  a.balance.should == 10
end

it "should subtract money from A through transfer"
  a.deposit(10)
  a.transfer b, 5
  a.balance.should == 5
  b.balance.should == 5
end

it "should reverse transaction through reverse"
  a.deposit(10)
  a.transfer b, 5
  a.reserve b, 5
  a.balance.should == 10
  b. balance.should == 10
end

我想做的是:

it "should perform a series of actions successfully"
  a.deposit(10)
   # checking here
  a.transfer b, 5
    # checking here
  a.reserve b, 5
    # checking here  
end

有可能吗?

谢谢

1 个答案:

答案 0 :(得分:0)

您的原始测试实际上更好,因为如果一个失败,您将更好地了解问题所在。如果要减少每个测试之间的重复,请使用before(:each)