假设有一个功能可以根据几个变量的值计算结果,并且有一个方程式指定如何计算结果.
现在,我需要在BDD中编写一个场景,然后使用黄瓜进行语法和写测试来测试用BDD语法编写的场景.
为了编写场景,我可以想到两个选项.
写一个方案,捕获方程中的所有细节,以便方程本身可以从方案中导出.
通过将各种值应用于方程中的变量并编写预期结果来编写多个方案.
选项1很难编写,但它可以捕获其中的等式.
选项2更容易理解,但方程本身并未在方案中的任何位置定义.由于我的公司指示将所有规格编写为BDD场景,因此我无处可编写规范中的等式.
哪种选择是正确的方法?或者我在这里缺少什么?
场景是说明要求(或定义)的具体示例.
大多数人在特征文件顶部的模糊中为他们的场景设置了"规则" - 等式定义,接受标准或行为背后的基本原理.
所以,举例来说,如果我正在撰写康威的生命游戏,我可能会有这样的功能文件:
Feature: Rules for cells
Cells die if there are fewer than 2 neighbours (lonely)
Cells die if there are more than 3 neighbours (starving)
Cells are born in empty spaces with 3 neighbours
Scenario: Lonely cells die
Given a grid which looks like
........
.X......
....XX..
........
Run Code Online (Sandbox Code Playgroud)
等等.
因此,在您的情况下,您的要素文件可以包含等式的定义,并且场景是实际等式的具体示例.
Feature: My Equation
x = 3y + max(z, u)
Scenario: z is bigger than u
Given y = 3, z = 10 and u = 5
When I calculate the result
Then x should be 19.
Run Code Online (Sandbox Code Playgroud)
我猜你的等式可能比这更复杂,但希望它给你的想法.
| 归档时间: |
|
| 查看次数: |
225 次 |
| 最近记录: |