我知道如何检查一个模型中是否没有创建记录。如何检查在RSpec/Rails的所有模型中是否未创建记录?
expect{Counter.increment}.to_not change{Counter.count}.by(1)
现在,有一种方法来检查,如果没有记录是在RSpec的/ Rails的所有车型中创造出来的?
我知道如何检查一个模型中是否没有创建记录。如何检查在RSpec/Rails的所有模型中是否未创建记录?
expect{Counter.increment}.to_not change{Counter.count}.by(1)
现在,有一种方法来检查,如果没有记录是在RSpec的/ Rails的所有车型中创造出来的?
这是如何检查的记录数中的所有应用程序的表:
ActiveRecord::Base.send(:subclasses).inject(0){ |result, a| result += a.all.size }
在测试情况下,使用它关于 - 嗯..我看不出有任何理由这样做 - 考虑重构了测试而不是采取这种骇人的东西。
如果你仍然想使用它,它的测试..好,去什么是我原来的答复:
expect(your_something).to_not change{ ActiveRecord::Base.send(:subclasses).inject(0){ |result, a| result += a.all.size } }
这个工程!谢谢! – user872176
我认为你是对的。测试用例不应该如此hachery ..无论如何这是很好的答案,谢谢! – user872176
@ user872176没有probs,欢迎您! –
为什么你认为你需要这样一个广泛的测试?你想达到什么目的? – spickermann
我需要检查一个方法调用时是否没有副作用。 – user872176