倉庫内の同じコンテナーに追加されるかどうかにかかわらず、アイテムに関するルールを適用するためのクラスを作成する必要があり、実装する前に要件を 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
ここで正しいアプローチに関するガイダンスはありますか?