-
Notifications
You must be signed in to change notification settings - Fork 265
Enhancement: Support for custom types + StepParam
type
#682
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
base: main
Are you sure you want to change the base?
Conversation
d471f33
to
99c6b99
Compare
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #682 +/- ##
==========================================
- Coverage 83.21% 77.97% -5.24%
==========================================
Files 28 41 +13
Lines 3413 4082 +669
==========================================
+ Hits 2840 3183 +343
- Misses 458 780 +322
- Partials 115 119 +4 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
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.
👍
Looks good and useful to me!
e11eb8d
to
3bb2789
Compare
val = reflect.ValueOf(s).Convert(param) | ||
} | ||
|
||
tm := val.Interface().(StepParam) |
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.
Is it possible for value to fail type assertion and panic here?
🤔 What's changed?
Add a new supported type to step definitions, being:
StepParam
:⚡️ What's your motivation?
We make fairly heavy use of files for test data, along with fairly heavy use of go's template engine for our inputs and file content. This, while working well, has resulted in basically every single step we define having to start with one or more of a few common function calls:
Which, while fine, is duplication that we've had to change a few times before. Combine this with not all templated input being files to be loaded, and you get a fair amount of duplicated boilerplate that eventually the
nodupl
linter complains about.Ideally, this would be automatic while also being more declarative:
🏷️ What kind of change is this?
♻️ Anything particular you want feedback on?
Naming, new type placement, and general opinions on the feature would be good (such as, do we even want support for customer non-struct types?).
📋 Checklist:
This text was originally generated from a template, then edited by hand. You can modify the template here.