Skip to content

Release v0.5.0

Compare
Choose a tag to compare
@koodeex koodeex released this 31 Mar 09:18
· 281 commits to master since this release

v0.5.0 Release Notes:

  • изменение сигнатур тестов в suite'ах. теперь обязательно требуется прокидывать интерфейс provider.T в тесты
func (s *SomeSuite) TestSome(t provider.T) {
  t.Title("My Test")
  ...
}
  • изменение сигнатур в анонимных функциях шагов - теперь обязательно нужно прокидывать контекст шага (интерфейс provider.StepCtx)
func (s *SomeSuite) TestSome(t provider.T) {
 ...
 t.WithNewStep("step name", func (ctx provider.StepCtx)) {
  ctx.WithNewParameters("param name", "param value")
  ctx.WithNewStep("sub step name", func(ctx provider.StepCtx)) {
    ...
  }
  ...
 }
  ...
}
  • все взаимодействия с аллюром перенесены из структуры suite в интерфейс provider.T
  • исправлены асинхронные запуски тестов в рамках suite
  • добавлена возможность запускать асинхронные шаги
func (s *SomeSuite) TestSome(t provider.T) {
  ...
  t.WithNewAsyncStep("step name", func(ctx StepCtx)) {
    // эта анонимная функция отработает в дочернем рутине теста
    ...
  }
  ...
}
  • добавлены обертки для ассертов. Теперь можно оборачивать проверки testify в шаги нативно с помощью пакета assert/require модуля framework. список доступный проверок можно посмотреть в интерфейсе provider.Assert (со временем расширим пул доступных проверок)

Примечание: require-проверки (aka hard-assert, или проверки, убивающие тестовый рутин) не рекомендуется использовать в асинхронных степах во избежание утери данных о состоянии этих проверок. для таких шагов лучше использовать soft-assert'ы

func (s *SomeSuite) TestSome(t provider.T) {
  // проверка будет добавлена в отчет как новый шаг
  t.Require().Equal(1, 1) 
  t.WithNewStep("require demo", func(ctx StepCtx)) {
    // проверка будет добавлена как sub step в родительский шаг require demo
    ctx.Require().Nil(nil)
  }
  t.WithNewAsyncStep("assert demo", func (ctx StepCtx)) {
	  // проверка будет добавлена как sub step в родительский шаг assert demo
    ctx.Asserts().NotEqual(0, 1)
  }
}
  • в пакет runner добавлена возможность использовать Before/After all хуки
  • в объекте runner теперь обязательно нужно вызывать метод RunTests для запуска добавленных в него тестов
  • саб модуль provider теперь часть саб модуля framework
  • мелкие изменения функций allure-структур
  • добавлен ряд интерфейсов, доступных для расширения