1

我有一个包含超过 66 个场景的 Cucumber 功能文件!功能文件的标题确实代表了场景的全部内容。

但是 66(200 步)感觉是一个很大的数字。这是否表明我的专题标题过于宽泛?

一个功能文件中最多应该有多少个场景(从最佳实践的角度来看)?

提前致谢 :)

4

2 回答 2

4

尽管我不知道您的系统和功能文件,但我可以肯定地说,对场景及其用途存在误解。

场景的目的是通过示例对特性进行说明。通常,人们倾向于编写场景来涵盖所有用例。如果您以这种方式处理场景,则该功能将失去人类可读的能力。

请记住,验收测试的编写成本和更改成本都很高。写出最少的场景。如果有一个场景不会为理解该特性带来任何额外的价值,那么那个场景就不应该存在。将所有用例转移到较低级别的测试——单元测试。

在大多数情况下,该功能具有以单位为单位的场景数量,如果是复杂功能,则为数十个。

编辑:如果场景数量接近 10,我宁愿将功能文件拆分为更多描述功能更深部分的文件。

于 2016-03-12T12:11:51.043 回答
1

是的,200 对单个文件来说是异常多的场景。可能很难在文件中找到特定场景或使其保持井井有条。(多个较小的文件更容易组织;文件目录比带有注释或更糟糕的一些未注释排序方案的长文件更易于人们理解和维护。)运行文件也需要很长时间,这将使发展困难。

更重要的是,单个功能的 200 个场景可能意味着该功能非常复杂或非常广泛。在任何一种情况下,它都可能被分解为多个较小的功能文件。这也可能意味着有太多的场景。某些变量的每个值可能都有一个场景(编写一个场景而不必担心不同的值可能就足够了)或者每个特性的每个细节都有一个场景(最好编写单元测试,它更小更专注、更快,详情)。

但是,就像任何关于一段代码大小的软件度量一样,可能会有一个典型的大小,但每个问题都是不同的。您的功能可能真的那么复杂。我们不能说不了解领域并查看功能文件。

于 2016-03-12T05:04:40.030 回答