我真的不明白单元测试中模式的排列和行为部分之间的区别。 Arrange ONLY是否意味着对象的创建?我们为什么要首先将安排与法案部分分开,以及判断某些事物属于法案而不属于安排部分的标准是什么?对我而言,似乎所有东西都属于编排部分,因为我们为安排部分“安排测试”,不是吗?
答案 0 :(得分:3)
单元测试测试单个" Act"在程序中,通常是对对象实例的单个方法调用。安排,行动,断言将单元测试分为三个部分:法案之前,期间和之后。
排列部分是一切,但不包括感兴趣的方法调用。在编配部分,我们设置了一个状态,我们希望世界(我们调用方法的对象,与其交互的其他对象等)在我们调用方法时进入。
该法案是我们正在测试的方法的召唤。
并且(完成),Assert是测试的其余部分,我们断言该法案对我们期望的世界有影响。
因此,我们不会安排对断言进行测试,我们为该法案安排世界。在编配部分,我们做了我们已经知道的影响的事情。在编配部分中调用的每个方法都应在其他地方进行单元测试。在该法案中,我们做了一些我们还不知道的事情;这就是测试的真正含义。 (在测试驱动的开发中,我们可能尚未编写该方法,或者已添加到其实现中以通过此特定测试。)