c# - Specflow - 作为功能文件/BDD 的一部分涵盖的测试类型是什么

标签 c# automated-tests bdd specflow

这可能是一个愚蠢的问题,但仍在尝试找到我对 BDD Specflow 的理解。 根据我在 Specflow 方面的经验 - 看到不同的公司使用 Specflow 来捕获场景/测试 -

  • 组件级测试
  • 功能测试
  • 系统集成测试
  • 回归测试

例如,我的系统集成测试覆盖率功能如下 -

Given An active account exists
When I  fill up a form & submit a new investment (submitted but not approved)
Then Check the record inserted into a specific table
And new transaction displayed in Holdings report
And new transaction not displayed in cash balance report (as not yet approved)

在一些公司中,他们练习进一步分解码件

将上述场景分为如下 2 个功能 -

  1. 一次验证直到插入数据库

    Given An active account exists
    When I  fill up a form & submit a new investment (submitted but not approved)
    Then Check the record inserted into a specific table
    
  2. 其他检查报告

    Given A new Investment is recorded
            When we run the reports
            Then new transaction displayed in Holdings report
            And new transaction not displayed in cash balance report (as not yet approved)
    

以上哪项是编写 Specflow 功能的正确方法?最佳实践是什么?

最佳答案

IMO,根据 BDD 指南,更好的方法是您上面写的第二个选项。因为您在第二种情况下在某种程度上涵盖了不同的行为。任何时候场景都需要两个“when-then”语句,最好有单独的场景。查看here ,这正是你的观点。您甚至可以检查时态,看看它们在上述场景中是否正确。

关于c# - Specflow - 作为功能文件/BDD 的一部分涵盖的测试类型是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57703488/

相关文章:

javascript - 如何将控制台的报告结果保存到文件(TestCafe)?

javascript - 是否有用于测试使用 Gherkin DSL 的 Javascript 的 BDD 框架?

python - python中是否有任何基于故事的BDD测试框架?

ruby-on-rails - 以编程方式列出所有 cucumber 场景?

c# - c#访问内存地址

c# - worker 线程可以在GUI中读取控件吗?

java - 所有浏览器驱动程序和代码的 Selenium Java 基类是多余的

c# - 为什么这个 XPath 查询不返回任何节点?

c# - 我如何检查用户(已创建或未创建)

testing - 单击按钮不起作用 - Katalon Studio