我知道如何檢查一個模型中是否沒有創建記錄。如何檢查在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