0
比方说,我有两个型号,其中一个需要其他的存在来验证:Rails进行测试的最佳实践,当一个ActiveRecord的模型需要另一
class Mother < ActiveRecord::Base
has_many :kids
end
class Kid < ActiveRecord::Base
belongs_to :mother
validates_presence_of :mother
end
当我写模型小子试验,我想要测试的第一件事是,如果没有一个存在的母亲(即,存在于数据库中),则不能保存孩子。然而,要做到这一点,我需要先让我的测试创建一个母亲。
处理这种情况的最佳方法是什么?我应该:
- 在我测试之前将测试数据库与母体的实例结合起来?
- 在Kid进行测试之前,依靠母亲创建母亲实例的单元测试?在这种情况下,我必须指定不推荐的测试顺序,是否正确?
- 其他一些选项?
既不,您应该做任何您的测试框架提供。固定装置或工厂。你应该不**编写依赖于其他测试的测试,实际上这不应该发生,因为你的数据库应该在测试之间清空。 – meagar
@meagar我认为这应该是公认的答案 - 无论是固定装置还是工厂。你能否再次回复作为答案,以便我可以接受它? –