在自外向内的Rails开发方法中,我们从视图开始,遍历模型,在这种方法中,我们以隔离的方式指定和测试每个部分,以便视图规范与控制器和模型隔离,控制器规范与视图和模型隔离,等等。因此,在这种方法中,FacctoryGirl适合的地方,以及在指定控制器和视图时,使用它比使用rspec的好处多出一倍。我的意思是,由于FactoryGirl要求模型在使用之前必须被实例化,因此应该在控制器和视图之前进行测试,所以它不会是一种由外而内的方法。
发布于 2013-12-06 10:47:17
在进行集成/验收/特性(同一事物的三个名称,IMO)规范时,不适合使用模拟或替身。至少,在编写这些类型的测试时,您将需要这些问题的实际有效实例。使用工厂可以让工厂关心是什么构成了一个有效的实例,而不必在整个测试过程中重复这一知识。
即使在单元级,有时行为也需要测试对象的完全有效实例……你使用don't want to stub the system under test,所以你求助于你的工厂,作为一种方便和一致的方式来获得一个满足你需求的实例。
https://stackoverflow.com/questions/20256997
复制相似问题