Ошибка xunit assert.equal?

Я только начал работать над новым проектом с кучей существующего кода, а тесты не проходят. Я больше сторонник Nunit, поэтому я не сразу знаком с точками отказа Xunit.

проблема в коде, который выглядит примерно так:

fooStringProperty = readSomeFile;
//later
fooStringProperty.ShouldBe(expectedContents)

приведенный выше код завершается с ошибкой, которая выглядит следующим образом:

error : Position: First difference is at position 0
Expected: contentsOfFooStringProperty      
Actual:
contentsOfFooStringProperty

в основном, он каким-то образом получает эту новую строку, и я понятия не имею, как. У меня есть масса этих сбоев по всей кодовой базе, и это работает для других людей, поэтому мне интересно, не проблема ли это с версией xunit?

edit: это полностью проблема CRLF между Mac и Windows. проблема решена :)


person Oren Mazor    schedule 21.10.2011    source источник
comment
Скорее всего у вас ошибка в коде. Пора вытащить старый отладчик и посмотреть, что происходит. Маловероятно, что здесь виноват xUnit.   -  person jason    schedule 21.10.2011
comment
вы сталкиваетесь с различиями в платформах? (\r\n или \n конец строки?) Что это за версия/операционная система?   -  person sehe    schedule 21.10.2011
comment
Выбор не нарушен (особенно верно, когда ваше имя пользователя похоже на анаграмму бритвы Оккама, Орен Мазор :))   -  person sehe    schedule 21.10.2011


Ответы (1)


Кажется маловероятным, что xUnit вводит новые строки. Кажется более вероятным, что вы действительно имели новые строки по какой-то совершенно другой причине.

Я бы посоветовал вам диагностировать это, отладив код и проверив значения в отладчике. Установите точку останова в строке утверждения и посмотрите, подходит ли она вам. Предполагая, что в этот момент он действительно неисправен, поставьте точку останова там, где вы извлекаете/читаете/вычисляете каждое значение. В основном применяйте обычные шаги для разработки неожиданного поведения - игнорируйте аспект xUnit.

person Jon Skeet    schedule 21.10.2011
comment
это также было бы моим нормальным предположением, за исключением того, что в остальное время этот код отлично работает. сломана только на моей машине… чистая новая машина. - person Oren Mazor; 21.10.2011
comment
@OrenMazor: Это не делает это ошибкой xUnit :) Вы можете отлаживать модульные тесты? Если нет, вам придется прибегнуть к отладке через ведение журнала, что немного более болезненно. Я уверен, что это будет что-то экологическое. - person Jon Skeet; 21.10.2011
comment
Я полностью согласен. это почти гарантированно на 100% экологично. Я просто хотел спросить здесь параллельно с моей отладкой, так как я мало знаю о xunit и хотел узнать второе мнение. - person Oren Mazor; 21.10.2011