Строка Дата Сравнить

В тесте BDD я сравниваю даты. При сравнении даты в строках. Даже если обе даты совпадают, я получаю это сообщение, и тест не проходит

Ожидаемый объект: "20.01.2012 12:00:00 AM", но обнаружен "20.01.2012 12:00:00 AM".

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

Кодовая часть этого

            customer["DateOfBirth"].Should().Be(Helper.DateOfBirth.ToString());

Где клиент хеш-таблица. это конкретное утверждение проходит нормально на других машинах, но не на моих.

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

2 ответа

Решение

В тесте BDD я сравниваю даты. При сравнении даты в строках.

Это звучит как ваша проблема тогда. Я предполагаю, что вы сравниваете дату, отформатированную в культуре по умолчанию, с датой, отформатированной вручную в другой культуре.

Решение состоит в том, чтобы выполнить сравнение с DateTime значения вместо того, чтобы полагаться на форматированные значения. Разрешить исполнителю теста форматировать оба значения, если они отличаются.

Даты форматируются по-разному - один имеет ведущий 0.

Вы должны либо отформатировать их одинаково, либо просто сравнить фактические DateTime значения напрямую.

Другие вопросы по тегам