Как стать автором
Обновить

Комментарии 8

Действительно круто!

Смущает лишь provider.T, убивающий возможность использовать многие сторонние пакеты для тестирования. Мне первым на ум пришел rapid, например.

Большое спасибо за комментарий!

Хм, кейс хороший.

Проблема с rapid, например, в том, что у них там указатель передается, а не интерфейс.

А так, с testify, например, allure-go совместима как раз потому, что ребята в свои ассерты принимают интерфейс.

Постараюсь поисследовать, как можно было бы подружить allure-go с библиотеками, которые принимают только указатели.

Было бы здорово.

Я лично property based тесты в каждом гошном проекте использую. И без них трудно.

Сделал по красоте

Спасибо, полезно! Пользуюсь библиотекой больше месяца, и только сейчас научился правильно заворачивать шаги в t.WithNewStep и узнал про XSkip :)

Асинхронные шаги пока не требуются, но тоже взял на заметку.

не рекомендуется использовать t.Require() с WithNewAsyncStep

А если использовать StepCtx.Require(), то можно получить те же самые побочные эффекты в виде остановки всех родительских горутин?

t.WithNewAsyncStep("async step", func(sCtx provider.StepCtx) {  
  sCtx.Require().True(false, "gonna fail here")
}

не рекомендуется использовать Require с асинк степами - провал рекваер дергает FailNow() который в свою очередь дергает runtime.Goexit()

Зарегистрируйтесь на Хабре, чтобы оставить комментарий