当我偶然发现这个问题时,我正试图深入了解自己的问题。据我了解,正在表达和测试两种不同的功能(查看关于它们的两个Whens 和两个Givens)。这样做是否正确?
问问题
477 次
1 回答
3
有两种编写场景的方法(就此而言,还有类级别的示例)。
一种是每个场景使用一个示例。
另一个是每个场景都有一个行为方面。
在这种情况下,非活跃用户和活跃用户的行为都提供了一些有价值的东西。没有其中之一,行为就毫无意义。所以把它们放在一个场景中是有道理的。这也提供了一个实用的好处,因为它通常需要时间来初始化场景的上下文。
拆分它们的一个很好的理由可能是第三种行为开始起作用(例如,您暂停了用户以及活动和非活动用户)。
如果你有不同的行为方面,用不同的例子来说明它们通常是有价值的。例如:
Given Fred bought a fridge for $100
When Fred returns the fridge
Then he should be refunded $100
And the fridge should be returned to stock.
这两种结果显然是行为的两个不同方面,涉及不同的利益相关者——顾客和店主——因此将它们分开会更有意义。
Given Fred bought a fridge for $100
When Fred returns the fridge
Then he should be refunded $100
Given Fred bought a fridge for $100
When Fred returns the fridge
Then the fridge should be returned to stock.
但是,要务实。如果一种方式比另一种方式更具可读性或可理解性,那么它应该优先于任何硬性规则。我会说我花了一段时间才学会如何有效地做到这一点,所以大部分都是经验。
于 2011-10-11T09:28:44.333 回答