Fluent NHibernate Unit Testing фиксированные поля длины символа - PullRequest
1 голос
/ 22 марта 2011

У меня есть модульное тестирование, которое не проходит, и я знаю, почему, но я не уверен, как мне справиться с этим.У меня есть следующий модульный тест:

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

Сбой со следующей ошибкой:

Метод теста CanCorrectlyMapOrderLine выдал исключение: System.ApplicationException: Для свойства 'Line' ожидается '1' изтипа 'System.String', но получил '1' типа 'System.String'

Причина, по которой он это делает, заключается в том, что x.Line указывает на символьное поле фиксированной длины в базе данных (nchar (10) дляточнее) и когда он вставляет данные, он дополняет их пробелами.Должен ли я указывать «1» с 9 пробелами в конце в моих модульных тестах или я должен каким-то образом обрезать это, когда читаю?Есть ли другой способ справиться с этим?

1 Ответ

0 голосов
/ 15 апреля 2011

В итоге я сделал следующее:

new PersistenceSpecification<OrderLine>(session)
   .CheckProperty(x => x.Line, "1".PadRight(10, ' '))
   .VerifyTheMappings();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...