Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Loading…

Flexible naming of parameterized tests #24

Closed
dsaff opened this Issue · 7 comments

4 participants

@dsaff
Owner

No description provided.

@JThoennes

Is this a duplicate of issue 44?

@dsaff
Owner

Certainly resolving issue 44 would resolve this issue. I'm not clear if issue 44 covers any possible implementation of a better naming scheme.

@JThoennes

Basically, I would like to have the first parameter of a parameterized test to contain the name of the test. Then the @Parameters annotation could have a setting to indicate that the first parameter is the description to be taken instead of the number. This parameter defaults to disabled for backwards compatibility.

Alternatively, a static method to create names of test parameters would be more flexible.

Did you have a look at the offered patch in issue 44?

@ffray

I've created a little patch for this issue as I'm currently creating a larger set of tests using the Parameterized runner.

By adding an instance of a newly created class Parameterized.Name to each Object-array returned by the @Parameters method, getName and testName return the name instead of the fParameterSetNumber.
So tests get named "[test-name]" and methods get named "test-method [test-name]".
The patch is included in my fork at git://github.com/ffray/junit.git, branch "names".

@JThoennes

Thanks, Florian. This looks like a simple and flexible patch.

Hopefully, this will be integrated into the standard JUnit some day (not too far into the future).

@ffray

Could somebody please review Dimitars and my changes?
Would be great to have this functionality in the official release.

@dsaff
Owner

As I mentioned in a recent message to junit@yahoogroups.com, my throughput on code reviews is currently very limited, and may be through the end of 2011. I'm sorry for the delay.

@stefanbirkner stefanbirkner referenced this issue from a commit in stefanbirkner/junit
@stefanbirkner stefanbirkner Add names for parameterized tests. Fixes #24 and #44.
In order that you can easily identify individual test, you may provide
a name for the Parameters annotation.
 @Parameters(name="my test")
This name is allowed to contain placeholders, which are replaced at
runtime. The placeholders are
* {index} - the current parameter index
* {0} - the first parameter
* {1} - the second parameter
* ... - the other parameters
If you don't use the name parameter, then the current parameter index
is used as name.

Example:
When you use @Parameters(name="fib({0})={1}") with the Fibonacci
example, then you get test names like "fib(3)=2".

This feature is based on the work of Dimitar Dimitrov (pull request
#145).
Thank
you.
e0cddcd
@ebruchez ebruchez referenced this issue from a commit in orbeon/junit
@stefanbirkner stefanbirkner Add names for parameterized tests. Fixes #24 and #44.
In order that you can easily identify individual test, you may provide
a name for the Parameters annotation.
 @Parameters(name="my test")
This name is allowed to contain placeholders, which are replaced at
runtime. The placeholders are
* {index} - the current parameter index
* {0} - the first parameter
* {1} - the second parameter
* ... - the other parameters
If you don't use the name parameter, then the current parameter index
is used as name.

Example:
When you use @Parameters(name="fib({0})={1}") with the Fibonacci
example, then you get test names like "fib(3)=2".

This feature is based on the work of Dimitar Dimitrov (pull request
#145).
Thank
you.
08c7053
@dsaff dsaff closed this in 3a5c9f2
@jherault jherault referenced this issue from a commit
Commit has since been removed from the repository and is no longer available.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.