-
Notifications
You must be signed in to change notification settings - Fork 36
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
add eventually method && a bit refactor #103
Conversation
provider.Step(step) | ||
}() | ||
result = assert(t) | ||
func (h *assertHelper) WithNewStep(t TestingT, provider Provider, assertName string, assert func(t TestingT) bool, params []*allure.Parameter, msgAndArgs ...interface{}) bool { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
небольшой рефакторинг, defer здесь не нужен
@@ -11,30 +11,26 @@ type Provider interface { | |||
} | |||
|
|||
type assertHelper struct { | |||
required bool | |||
prefix string |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
добавил prefix вместо require, по сути нам эту перенеменную нужно определять единожды при создании
9480337
to
5a1f71b
Compare
@koodeex привет, посмотри пр) |
поправь линт и экзамплы плиз)) |
линтер поправил, видимо в 1.17.8 отсутствует atomic.Int32; нужен аппрув чтоб еще раз пайп прогнать |
еще разочек, теперь должен пройти линтер |
Привет, начал писать тесты с использованием фреймворка и обнаружил отсутствие необходимого метода Eventually в provider.Asserts. Метод полезен например если проверяешь асинхронщину или ждешь какого-то события (например кафка).
Также немного отрефакторил код, тк я хочу добавлять к стандартному интерфейсу Asserts еще и свои методы композицией, например метод с проверкой количества публичных полей в структуре
for example:
Сейчас такую композицию проблематично сделать не повторяя код фреймворка, а именно метода withNewStep.
Чтобы упроситить работу с ним я добавил метод Decorate, метод резолвится только через интерфейс, по умолчанию скрытый.
Таким образом это придаст гибкости фреймворку для локальных расширений.