«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как я могу надежно печатать отладочные сообщения в тестах Go?

Как я могу надежно печатать отладочные сообщения в тестах Go?

Опубликовано 14 января 2025 г.
Просматривать:396

How Can I Reliably Print Debug Messages in Go Tests?

Как эффективно печатать сообщения в тестах Go

Во время тестирования в Go может быть полезно печатать сообщения в целях отладки. Однако использование fmt.Println не всегда дает ожидаемый результат. Вместо этого следующие методы обеспечивают более надежные возможности печати при работе с тестами.

Testing.T и Testing.B Методы ведения журнала:

Оба Testing.T и Testing. Структуры B предоставляют следующие методы журналирования:

  • .Log: аналогично fmt.Print
  • .Logf: аналогичен fmt.Printf

Эти методы специально разработаны для использования в тестах и ​​обеспечивают правильную обработку напечатанных сообщений. .

Пример:

func TestPrintSomething(t *testing.T) {
    t.Log("Say hi") // Prints "Say hi" using the .Log method
}

Вывод теста с флагом -v:

Стандартные операторы печати fmt.X действительно могут работать в рамках тестов. Однако их вывод может не отображаться сразу на экране. Чтобы просмотреть выходные данные, для go test необходимо передать флаг "-v" (подробность).

go test -v

С флагом "-v" тест напечатает регистрируйте сообщения как о прохождении, так и о непрохождении тестов.

Примечание:

Метод тестирования .Error.T также можно использовать для печати сообщения. Однако он предназначен для сообщения об ошибках и помечает тест как неудавшийся. Методы .Log предоставляют более чистый и удобный вариант для информативной печати, не влияя на результат теста.

Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3