流畅的NHibernate单元测试固定长度的字符字段

时间:2011-03-22 20:25:15

标签: unit-testing fluent-nhibernate

我有一个失败的单元测试,我知道为什么,但我不确定我应该如何处理它。我有以下单元测试:

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”,还是应该在阅读时以某种方式修剪它?还有另一种方法可以解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

我最后只是做了以下事情:

new PersistenceSpecification<OrderLine>(session)
   .CheckProperty(x => x.Line, "1".PadRight(10, ' '))
   .VerifyTheMappings();