-
Notifications
You must be signed in to change notification settings - Fork 39
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
Bad custom test names should not fail silently #72
Comments
That's an exciting idea. However, the intention was to provide a human-readable test description, not necessarily a compiler-readable one. For example:
As you can see, in this example, we have to sanitize input. Anyway, you have a valid point. @luke-biel - perhaps we should introduce some kind of feature flag or syntax (like different quotes used) to enable "strict mode"? |
Hmm, yes, that makes sense |
I'm just not sure if this doesn't introduce bloat within |
IMHO, a project using test_case should almost always add a name to the test, for good practices. But I think refining the opposite is still something good. The solution provided on #19 would solve this problem, but the question is: what defined a "bad test name"? Anything besides alphanumeric, spaces, and underscores? |
I will be borrowing the example from #19, since it has some relation to how I found this error on my own code.
So, we know from that issue that the minus will be abstracted from the automatic name creation process, BUT, we have a mechanism for custom names, and that could help the developer to understand that the problem with his code is that he is lacking a valid test name:
And this will raise a familiar error, but the interesting part is that it tried to use my custom name, since it begins with
abs
, and nottest_crazy_stuff
:This leads me to believe that we have a process that tries to make the name valid, since it erased the hyphen from my custom test, applied, and then we had a name collision.
I haven't tried to analyze the code to understand how the hyphen is erased in both cases, but, i believe that if a developer instantiates a custom name, it shouldn't be safeguarded, if the name is invalid it should break catastrophically warning the developer of what the problem is.
The text was updated successfully, but these errors were encountered: