2010-02-27 28 views
1

我们有一个需要测试的工作流程。 所以有这么多的分支机构(pathes)需要现在我们使用早该情境测试执行复杂分支测试的最简洁方法是什么?

这样的测试 :

context "workflow one" do 
    setup do 
    #do something 
    end 

    context "branch 1 succuess" do 
    should "something" do 
    end 

    context "branch 2 succuess" do 
     should "something" do 
     end 

     context ... 
    end 
    end 

    context "branch 1 fail" do 
    should "something" do 
    end 

    context ... 
    end 
end 

你知道这将是非常混乱。你有很好的解决方案吗?

回答

0

我通常会将它们分成“每个分支”的基础。这假定当一个分支“失败”时,它基本上只是结束了这个过程(并且你不能去其他分支)。 至少这样你可以分组你的测试。 EG:

context "workflow one" do 
setup do 
    #do something 
end 

    context "Testing branch 1" do 
    context "branch 1 succuess" do 
     should "something" do 
     end 

    context "branch 1 fail" do 
     should "something" do 
     end 
    end 
    end 

    # assumes branch one is successful 
    context "Testing branch 2" do 
    setup do 
     do_branch_one_success 
    end 
    context "branch 2 succuess" do 
     should "something" do 
     end 

    context "branch 2 fail" do 
     should "something" do 
     end 
    end 
    end 
... 

end 
0

也许你可以简单地构造你的代码?

如果您考虑ActiveRecord中的验证,很多不同的分支(无效输入)会变成列表。然后每个验证都可以单独进行测试。

因此,就你而言,你能不能将你的工作流程变成要执行的动作列表?

Stephan

相关问题