我需要编写一个类来执行有关可能会或可能不会添加到仓库中同一容器中的项目的规则,并且我想在实现之前将要求转换为 Cucumber。
每个项目都有几个属性,例如“项目系列”(例如:电子产品、书籍)、“项目状态”(例如:主要库存、故障库存)和“批次”(例如:1050、1051)。
我可以想到几种为此编写 Cucumber 测试的策略,我想知道哪个是推荐的策略:
首先,您可以枚举每个产品的所有属性:
Given I have a tote containing:
| sku | client | family | status | batch | weight |
| 100000 | Foo | garment | main | 1234 | 10 |
When I add the item:
| sku | client | family | status | batch | weight |
| 200000 | Bar | garment | main | 1234 | 10 |
Then I should be told there is a Client conflict
其次,您可以硬编码一个基本产品,并尝试指定与其不同的最小属性:
Given I have a tote containing an item that's client "Foo"
When I add an item that's client "Bar"
Then I should be told there is a Client conflict
这假定步骤定义包含基本属性,并在步骤中提到属性时覆盖它们。
最后,您可以进一步进行抽象:
Given I have a tote containing an item
And I add an item with a different client
Then I should be told there's a client conflict
这里有关于正确方法的任何指导吗?