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