我有一个失败的单元测试,我知道为什么,但我不确定我应该如何处理它。我有以下单元测试:
new PersistenceSpecification<OrderLine>(session)
.CheckProperty(x => x.Line, "1")
.VerifyTheMappings();
失败时出现以下错误:
测试方法CanCorrectlyMapOrderLine抛出异常: System.ApplicationException:对于属性'Line',期望'1'类型'System.String'但得到'1'类型'System.String'
它之所以这样做是因为x.Line指向数据库中的固定长度字符字段(确切地说是nchar(10)),当它插入数据时,它用空格填充它。我应该在单元测试中指定末尾有9个空格的“1”,还是应该在阅读时以某种方式修剪它?还有另一种方法可以解决这个问题吗?
答案 0 :(得分:0)
我最后只是做了以下事情:
new PersistenceSpecification<OrderLine>(session)
.CheckProperty(x => x.Line, "1".PadRight(10, ' '))
.VerifyTheMappings();