Один из моих тестов, содержащий Assert.Equal(2, list.Count);
, не пройден на Appveyor, сервере непрерывной интеграции, но я не могу воспроизвести сбой на моей локальной машине.
Я надеюсь получить дополнительную информацию из сообщения об ошибке, но не знаю, как это сделать.
АвторыxUnit.net настаивает на том, что они не должны позволять пользователям указывать пользовательские сообщения об ошибках, см. https://github.com/xunit/xunit/issues/350.Вот почему нет API, позволяющего мне писать, например.Assert.Equal(2, list.Count, "The content of the list is " + ...);
Я также посмотрел на Свободные утверждения.Если я напишу list.Should().HaveCount(3, "the content of the list is " + ...);
, вывод будет выглядеть как
Ожидаемая коллекция будет содержать 3 элемента (ов), потому что содержимое списка
..., но найдено 2.
Предложение «потому что» не имеет смысла в грамматике английского языка.Кажется, что параметр Потому что используется для описания ожидаемого поведения, а не фактического поведения.
Учитывая, что xUnit.net и Fluent Assertions оба отговаривают нас от предоставления дополнительной информации о сбое, выводит дополнительную информацию, когда тесты дают хороший результат.отлаживать удаленные ошибки?
Каков наилучший способ вывода дополнительной информации?