Устранение неполадок при неудачных модульных тестахC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Устранение неполадок при неудачных модульных тестах

Сообщение Anonymous »

Каков правильный способ устранения неполадок в неудавшемся модульном тесте (или End2End тесте), когда тестируется очень сложная логика? Обычно рекомендуется внедрить NullLogger в тестируемый класс для модульного тестирования.
Предположим, что конвейер CI/CD выходит из строя на этапе модульного тестирования и это единственный результат ITestOutputHelper — какой тест не пройден и где (какой Assert не пройден). Например:

Код: Выделить всё

EvtHandlerAsyncInvokeIsProcessed
 Source: AsyncTests.cs line 29
 Duration: 213 ms

Message: 
Assert.That(eventData).IsEqualTo("my value", StringComparison.Ordinal)
Expected: "my value"
Received: "myexample string"

Difference at index 2:
myexample string
^
my value
^

Stack Trace: 
InvokableAssertionBuilder`1.ProcessAssertionsAsync()
AsyncTests.EvtHandlerAsyncInvokeIsProcessed() line 46
Если программа запускается нормально, она обычно настроена для входа в консоль/файл, чтобы можно было выяснить, что произошло до сбоя программы, но в модульных тестах нет доступных журналов, дающих подсказки о том, что шаги привели к сбою.
Было бы полезно прочитать полные журналы неудачного модульного теста и иметь возможность выяснить это (без повторного запуска модульного теста в режиме отладки в IDE или воссоздания тот же сценарий при настройке без модульного тестирования для доступа к журналам).
Как это делается эффективно?
Вы запускаете неудавшийся модуль выполнить повторное тестирование в рамках модульного теста автоматически с помощью введенного «регистратора файлов/консоли», чтобы зарегистрировать более подробную информацию о неудачном сценарии? Я предполагаю, что это может быть нетривиально, поскольку параллельно выполняется больше тестов, и было бы полезно записать каждый модульный тест в отдельный файл.
Или внедренный регистратор регистрируется непосредственно в ITestOutputHelper ?

Подробнее здесь: https://stackoverflow.com/questions/790 ... leshooting
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»