2
很抱歉的模糊問題的標題,但我有一個困難時期試圖提煉出什麼,我問到一個班輪...單元測試陌生感燈具
我有幾個簡單的Rails(3.1)模型通過rails g scaffold
生成,我試圖單元測試。他們通過以下方式確定:
class ModelA < ActiveRecord::Base
validates_presence_of :field1, :field2
validates_uniqueness_of :field1
end
class ModelB < ActiveRecord::Base
validates_presence_of :field1
validates_uniqueness_of :field1
end
我有幾個固定裝置的每個模型,即:
model_a_no_field1:
field2: test
model_a_no_field2:
field1: test
model_a_ok:
field1: test
field2: test
和
model_b_no_field1:
model_b_ok:
field1: test
我的單元測試,測試這些驗證:
class ModelATest < ActiveSupport::TestCase
test "field1 should be present" do
assert !model_as(:model_a_no_field1).valid?
end
test "field2 should be present" do
assert !model_as(:model_a_no_field2).valid?
end
test "field1 should be unique" do
model_a = model_as(:model_a_ok)
model_a.save
assert !model_as(:model_a_ok).valid?
end
end
這些te所有通過正確。然而,我對ModelB
類似的單元測試:
class ModelBTest < ActiveSupport::TestCase
test "field1 should be present" do
assert !model_bs(:model_b_no_field1).valid?
end
test "field1 should be unique" do
model_b = model_bs(:model_b_ok)
model_b.save
assert !model_bs(:model_b_ok).valid?
end
end
失敗的第二個測試(測試唯一性)。
我幾乎可以肯定,這是與空的YAML夾具model_b_no_field1
,但我不知道。我可以通過更換測試方法體來通過測試
這很好,但我想了解這裏發生了什麼。
公平點,謝謝! – kfb