两个测试失败了——但只在 Ubuntu(12) 上而不是在我的(新)Mac 上。
失败的两个是 Active Record 对象属性比较,但我努力比较它们,例如在命令行中创建哈希并粘贴属性,比较表明它们是相同的。
一个真正的难题,因为我们有一个包含数百个测试的广泛测试套件。导轨 3.2.8,rspec 2.11
Failure/Error: assert_equal @iep_service.attributes, IepService.first.attributes
MiniTest::Assertion:
<{"id"=>414,
"duration"=>30,
"frequency"=>3,
"period"=>"week",
"group_size"=>"group",
"location"=>nil,
"service"=>nil,
"area_of_need"=>"speech",
"created_at"=>Tue, 09 Oct 2012 01:53:39 UTC +00:00,
"updated_at"=>Tue, 09 Oct 2012 01:53:39 UTC +00:00,
"therapist_id"=>nil,
"start_date"=>nil,
"end_date"=>nil,
"student_id"=>469,
"adhoc"=>false}> expected but was
<{"id"=>414,
"duration"=>30,
"frequency"=>3,
"period"=>"week",
"group_size"=>"group",
"location"=>nil,
"service"=>nil,
"area_of_need"=>"speech",
"created_at"=>Tue, 09 Oct 2012 01:53:39 UTC +00:00,
"updated_at"=>Tue, 09 Oct 2012 01:53:39 UTC +00:00,
"therapist_id"=>nil,
"start_date"=>nil,
"end_date"=>nil,
"student_id"=>469,
"adhoc"=>false}>.
# (eval):2:in `assert_equal'
测试代码:
context "And a pre-existing Iep Service for one of those students" do
before(:each) { @iep_service = FactoryGirl.create(:iep_service, :student => @district.students.first) }
context "And an Iep Service CSV" do
before(:each) { @spreadsheet = IepServiceSpreadsheet.new(@district, open_spec_fixture_file('sample-ieps.csv')) }
specify "Prevent importing" do
# Leave database untouched
assert_equal 1, IepService.count
assert_equal @iep_service.attributes, IepService.first.attributes
# Provide error report
assert @spreadsheet.error_report.any?
end
end
end
我也试过:@iep_service.attributes.should == IepService.first.attributes
但得到:
Failure/Error: @iep_service.attributes.should == IepService.first.attributes
expected: {"id"=>421, "duration"=>30, "frequency"=>3, "period"=>"week", "group_size"=>"group", "location"=>nil, "service"=>nil, "area_of_need"=>"speech", "created_at"=>Tue, 09 Oct 2012 02:13:51 UTC +00:00, "updated_at"=>Tue, 09 Oct 2012 02:13:51 UTC +00:00, "therapist_id"=>nil, "start_date"=>nil, "end_date"=>nil, "student_id"=>483, "adhoc"=>false}
got: {"id"=>421, "duration"=>30, "frequency"=>3, "period"=>"week", "group_size"=>"group", "location"=>nil, "service"=>nil, "area_of_need"=>"speech", "created_at"=>Tue, 09 Oct 2012 02:13:51 UTC +00:00, "updated_at"=>Tue, 09 Oct 2012 02:13:51 UTC +00:00, "therapist_id"=>nil, "start_date"=>nil, "end_date"=>nil, "student_id"=>483, "adhoc"=>false} (using ==)
有一个很大的差异,包括“检查实施”:
Diff:{"id"=>421, "duration"=>30, "frequency"=>3, "period"=>"week",
"group_size"=>"group", "location"=>nil, "service"=>nil, "area_of_need"=>"speech",
"created_at"=>Tue, 09 Oct 2012 02:13:51 UTC +00:00, "updated_at"=>Tue, 09 Oct 2012 02:13:51
UTC +00:00, "therapist_id"=>nil, "start_date"=>nil, "end_date"=>nil, "student_id"=>483,
"adhoc"=>false}.==({"id"=>421, "duration"=>30, "frequency"=>3, "period"=>"week",
"group_size"=>"group", "location"=>nil, "service"=>nil, "area_of_need"=>"speech", "created_at"=>Tue, 09 Oct 2012 02:13:51 UTC +00:00, "updated_at"=>Tue, 09 Oct 2012 02:13:51 UTC +00:00, "therapist_id"=>nil, "start_date"=>nil, "end_date"=>nil, "student_id"=>483, "adhoc"=>false}) returned false even though the diff between {"id"=>421, "duration"=>30, "frequency"=>3, "period"=>"week", "group_size"=>"group", "location"=>nil, "service"=>nil,
"area_of_need"=>"speech", "created_at"=>Tue, 09 Oct 2012 02:13:51 UTC +00:00,
"updated_at"=>Tue, 09 Oct 2012 02:13:51 UTC +00:00, "therapist_id"=>nil, "start_date"=>nil,
"end_date"=>nil, "student_id"=>483, "adhoc"=>false} and {"id"=>421, "duration"=>30,
"frequency"=>3, "period"=>"week", "group_size"=>"group", "location"=>nil, "service"=>nil,
"area_of_need"=>"speech", "created_at"=>Tue, 09 Oct 2012 02:13:51 UTC +00:00,
"updated_at"=>Tue, 09 Oct 2012 02:13:51 UTC +00:00, "therapist_id"=>nil, "start_date"=>nil,
"end_date"=>nil, "student_id"=>483, "adhoc"=>false} is empty.
Check the implementation of
{"id"=>421, "duration"=>30, "frequency"=>3, "period"=>"week", "group_size"=>"group",
"location"=>nil, "service"=>nil, "area_of_need"=>"speech", "created_at"=>Tue, 09 Oct 2012
02:13:51 UTC +00:00, "updated_at"=>Tue, 09 Oct 2012 02:13:51 UTC +00:00,
"therapist_id"=>nil, "start_date"=>nil, "end_date"=>nil, "student_id"=>483,
"adhoc"=>false}.==.