Как стать автором
Поиск
Написать публикацию
Обновить
9
0
Татьяна Куликова @Tan_tan

SDET

Отправить сообщение

Ухты, интересно)) Какие-то подводные камни при использовании библиотеки, ограничения? Нет ли проблем с параллелизацией тестов с вашей библиотекой?

Если говорить про библиотеку allure-go. То можно создать свой кастомный MyTestingT на основе интерфейса TestingT( в testify в пакете assert assertions.go)

и имплементировать метод Errorf, добавив туда методallure.Fail (который как раз выводит ошибку в отчет)

type myTestingT struct {}

func (m *myTestingT) Errorf(format string, args ...interface{}) {
	allure.Fail(errors.New(fmt.Sprintf(format+"\n", args[0])))
	fmt.Printf(format+"\n", args...)
}

а в тесте(взяла из примера) проинициализировать myTestingT и передавать в assert.Equal свой кастомный myT

func (suite *ExampleTestSuite) TestExample() {
	myT := &myTestingT{}
	allure.Test(suite.T(), allure.Action(func() {
		allure.Step(allure.Description("Step 1"), allure.Action(func() {
			assert.Equal(myT, 4, 5)
		}))
	}))
}

Возможно есть изящнее способ. Только надо еще над форматом вывода ошибки поработать. Получается так:

Спасибо.

Вы правы. Тут зависит все от постановки задачи. Если стоит вопрос: какой бы язык и тулзы нам выбрать, чтоб написать тесты? То конечно лучше выбрать для этого распространенные практики с уже сложившимся комьюнити и поддержкой, и не придумывать свое. Но в моем случае так вопрос не стоял, поэтому пришлось адаптироваться.

Касательно UI: сейчас у нас в команде только backend и нет фронтенда. Потому что фронтенд у нас пишут и тестят другие команды, и там свои тулзы и языки. Если б в качестве исключения надо было добавить какой-то совсем маленький функционал, то можно продолжить на Go, т.к. уже есть selenium либы и т. д. Если говорить о какой-то глобальной задаче как большой скоуп ui тестов, то нужно смотреть по потребностям уже и выбирать наиболее оптимальный вариант( с точки зрения ресурсов, знаний, поддержки и т.д). Не вижу глобальной проблемы добавления нового языка. Вопрос только насколько это нужно.

Ну и статья для тех, кто не знает с чего начать именно в Go, а не вообще в тестированиии =)

Все хранится на allure-сервере

Каждый прогон запускается под ALLURE_LAUNCH_ID. Все запуски лаунчей хранятся на сервере, и их можно увидеть во вкладке launches.

Если зайти в какой-то launch в конкретный тест, то можно увидеть статус прохождений в предыдущие прогоны, справа в HISTORY.

И если нажать на History, то он покажет все прогоны с этим тестом и причины падения

Хороший вопрос) Java всегда останется в сердце моем) И для автоматизации тестов в нём гораздо больше инструментов. Но Go все больше набирает обороты, очень интересно разбираться и погружаться в новый язык. Думаю дальше будет интереснее)

Информация

В рейтинге
Не участвует
Откуда
Россия
Зарегистрирована
Активность