BDD结果:如果我预计会出现错误该怎么办

时间:2016-07-14 12:40:11

标签: nunit bdd specflow

我正在尝试一点BDD方法,我有一个问题:

我为一个虚构的银行账户制作了一个场景:

Scenario: No money as new customer
    Given I'm a customer
    And I've not any deposit
    When I try to withdraw 50 dollars
    Then I should get an error

我正在使用Specflow + NUnit实现它。

我对Then I should get an error有点不满。 因为目前我有bool TryWithdraw(double amount)

我可以看到两种方法让它发挥作用:

  1. 更改BDD要求以删除THEN
  2. 存储WHEN的结果,然后在THEN
  3. 中查看

    什么是正确的方法?我的BDD要求是否正确或是否必须存储结果?

1 个答案:

答案 0 :(得分:1)

BDD测试就像单元测试一样。你有一个安排部分,一个行为部分,最后是断言部分:

  • 给定=安排
  • 当= act
  • 然后=断言

因此,存储您的行为结果(当我尝试提取50美元时)完全有效。 然后根据结果执行断言。