RSpec示例在不同的机器上失败的方式不同

RSpec示例在不同的机器上失败的方式不同,rspec,raise,Rspec,Raise,第一个打印错误信息,如下所示: Failures: Failures: 1) 联合测试增删改: 创造应该是成功的 失败/错误:unit\u ship=UnitShip.create(数据生成器::Master.unit\u ship) Psych::SyntaxError: 无法在第14行第14列分析YAML #./spec/support/data\u generator/master.rb:9:inunit\u ship' #./spec/models/unit\u ship\u spe

第一个打印错误信息,如下所示:

Failures:
Failures:
1) 联合测试增删改: 创造应该是成功的 失败/错误:unit\u ship=UnitShip.create(数据生成器::Master.unit\u ship) Psych::SyntaxError: 无法在第14行第14列分析YAML #./spec/support/data\u generator/master.rb:9:in
unit\u ship'
#./spec/models/unit\u ship\u spec.rb:8:in
block(3层)in'

2) 联合测试增删改: 删除 应该是成功的。 失败/错误:unit\u ship=UnitShip.create(数据生成器::Master.unit\u ship) Psych::SyntaxError: 无法在第14行第14列分析YAML #./spec/support/data\u generator/master.rb:9:in
unit\u ship'
#./spec/models/unit\u ship\u spec.rb:28:in
block(3层)in'

以1.65秒完成 13例,2例失败

失败的示例:

rspec./spec/models/unit#ship#spec.rb:7#UnitShip测试增删改: 创造应该是成功的 rspec./spec/models/unit#ship#spec.rb:27#UnitShip测试增删改: 删除 应该是成功的

另一个打印错误信息如下:

Failures:
Failures:
1) 单元更新不应成功 失败/错误:@fabric=FactoryGirl.build(:fabric) ActiveRecord::RecordInvalid: 校验失败: 编号 已经被使用 #./spec/models/unit_spec.rb:23:in'block(3层)in'

2) 单位销毁不应该成功 失败/错误:@fabric=FactoryGirl.build(:fabric) ActiveRecord::RecordInvalid: 校验失败: 编号 已经被使用 #./spec/models/unit_spec.rb:38:in'block(3层)in'

以1.16秒完成 13例,2例失败

失败的示例:

rspec./spec/models/unit#spec.rb:21#单元更新不应成功 rspec./spec/models/unit#spec.rb:36#单位销毁不应成功

====================================================================== 第一个是不正确的,第二个是正确的

为什么?


请帮帮我。谢谢

这与编译Ruby时使用的Yaml解析器版本有关

您的第二台机器正在使用
Syck
,而您的第一台机器正在使用
Psych
。要强制第一个用户使用
Syck
,请将其放入
应用程序。rb

YAML::ENGINE.yamler='syck'

谢谢你的帮助。我用你的方法把它修好了。再次感谢!