Skip to content
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

feat: add faker to variable #169

Closed
wants to merge 2 commits into from
Closed

feat: add faker to variable #169

wants to merge 2 commits into from

Conversation

sashamelentyev
Copy link
Contributor

@sashamelentyev sashamelentyev commented Jun 28, 2022

Ребят, привет!
Было бы здорово иметь функционал генерации случайных данных для тестов. Предлагаю внедрить faker.
В переменных описываем faker и какие данные нам нужны, и на каждый запуск - будут прилетать случайные данные.
Концепт в PR

@Cdayz
Copy link
Contributor

Cdayz commented Jun 28, 2022

Концепт мне нравится, вроде даже есть подобное issue но с немного другой нотацией, которая как мне кажется чуть лучше вписывается в gonkey. #138 и #139

@sashamelentyev
Copy link
Contributor Author

@Cdayz займусь этим

@sashamelentyev
Copy link
Contributor Author

@Cdayz концепт готов.
Можно указать в variables в значение ключа что-то типа $fakerNumber(1,9), или $fakerUUID - в первом случае сгенерируется число от 1 до 9, во втором будет UUID


f := faker.NewFaker()

return f.Faker(key)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Мне не нравится, что вот тут может быть паника https://github.com/neotoolkit/faker/blob/main/faker.go#L348

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

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

И история с псевдо-callable обьектами внутри шаблона наверное так не должна обрабатываться.
Это выглядит как супер неочевидный код.

У нас внутри есть задача на замену неполного шаблонизатора в gonkey на полноценный text/template, что по идее должно будет решать подобные проблемы проще.

@vitkarpenko FYI

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Заменю панику на обработку ошибки

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Предлагаю тогда скооперироваться. Я дополню библиотеку нужными данными и сценариями. И когда перейдете на text/template - внедрим все. Сейчас некоторые вещи конечно не очень очевидные, поэтому для концепта пришлось сделать подобное. В шаблонах конечно было бы проще, просто передать фейкер как функцию в шаблон

@leorush
Copy link
Contributor

leorush commented Jul 18, 2022

@sashamelentyev а почему использовать именно вашу библиоткеку? Чем https://github.com/brianvoe/gofakeit плоха?

@sashamelentyev
Copy link
Contributor Author

@leorush функционал тот же. Здесь решать уже вам что использовать

@sashamelentyev sashamelentyev deleted the feat/faker branch July 18, 2022 15:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants