commit | deb706635ec102fc508744868e0fa5d324ab7d3b | [log] [tgz] |
---|---|---|
author | Paul Duffin <[email protected]> | Fri Apr 08 14:53:28 2022 +0100 |
committer | Paul Duffin <[email protected]> | Fri Apr 08 15:15:05 2022 +0100 |
tree | 74e54202b20114ddf260e2fe8c3515667eb96c1f | |
parent | 4de802c98f6c0030603b37726e485dac4f356cb0 [diff] |
Allow @TestCaseName to be for names that are compatible with CTS/AJUR Previously, @TestCaseName was disallowed altogether and the default format was set to {method}[{index}] which was compatible with CTS/AJUR. The intent was to prevent test authors from setting names which would break CTS/AJUR features such as retry. This change relaxes the restrictions to allow the use of @TestCaseName as long as the generated test names were compatible with CTS/AJUR, i.e. consisted of what could be a method name followed by an optional index in brackets. e.g. {method}_{0} would be allowed as long as the first parameter to the test contained characters that are allowed in an identifier. An invalid test name is detected as soon as it is created and will cause the test run to fail. Bug: 36541809 Test: Tried using @TestCaseName with valid and invalid patterns Change-Id: I1dbc99b6b181898b438997f3e6b6d79a60b212b6
Parameterised tests that don't suck
@RunWith(JUnitParamsRunner.class) public class PersonTest { @Test @Parameters({"17, false", "22, true" }) public void personIsAdult(int age, boolean valid) throws Exception { assertThat(new Person(age).isAdult(), is(valid)); } }
See more examples
JUnitParams project adds a new runner to JUnit and provides much easier and readable parametrised tests for JUnit >=4.6.
Main differences to standard JUnit Parametrised runner:
JUnitParams is available as Maven artifact:
<dependency> <groupId>pl.pragmatists</groupId> <artifactId>JUnitParams</artifactId> <version>1.0.4</version> <scope>test</scope> </dependency>
If you want to see just one simple test class with all main ways to use JUnitParams see here: https://github.com/Pragmatists/junitparams/tree/master/src/test/java/junitparams/usage
You can also have a look at Wiki:Quickstart
Note: We are currently moving the project from Google Code to Github. Some information may still be accessible only at https://code.google.com/p/junitparams/