Nunit BDD结果:如果我预期出现错误,该怎么办

Nunit BDD结果:如果我预期出现错误,该怎么办,nunit,bdd,specflow,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实现它 我对有点担心,然后我应该会得到一个错误。 因为目前我有一个bo

我正在尝试一点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实现它

我对
有点担心,然后我应该会得到一个错误
。
因为目前我有一个
bool TryWithdraw(双倍金额)

我可以看到两种方法让它工作:

  • 更改BDD要求以删除
  • 存储WHEN的结果,并在THEN中进行检查

  • 正确的方法是什么?我的BDD需求是正确的还是必须存储结果?

    BDD测试类似于结构化的单元测试。你有一个安排部分,一个行动部分,最后是断言部分:

    • 给定=安排
    • 什么时候行动
    • 然后=断言
    因此,存储您行为的结果(当我尝试提取50美元时)是完全有效的。
    然后根据结果进行断言。

    第二种解决方案似乎很合适谢谢,我不太确定,而且我没有找到太多关于SpecFlow的资源对于这样的一般BDD问题,你也可以看看Cucumber,因为SpecFlow是.NET的Cucumber实现,不太清楚有什么区别。