Paul Duffin | fd1f949 | 2016-07-12 11:23:47 +0100 | [diff] [blame] | 1 | # JUnitParams |
| 2 | |
| 3 | [](http://travis-ci.org/Pragmatists/JUnitParams) [](https://coveralls.io/r/Pragmatists/JUnitParams) [](https://maven-badges.herokuapp.com/maven-central/pl.pragmatists/JUnitParams) |
| 4 | |
| 5 | *Parameterised tests that don't suck* |
| 6 | |
| 7 | ## Example |
| 8 | |
| 9 | ``` java |
| 10 | @RunWith(JUnitParamsRunner.class) |
| 11 | public class PersonTest { |
| 12 | |
| 13 | @Test |
| 14 | @Parameters({"17, false", |
| 15 | "22, true" }) |
| 16 | public void personIsAdult(int age, boolean valid) throws Exception { |
| 17 | assertThat(new Person(age).isAdult(), is(valid)); |
| 18 | } |
| 19 | |
| 20 | } |
| 21 | ``` |
| 22 | See more [examples](https://github.com/Pragmatists/JUnitParams/blob/master/src/test/java/junitparams/usage/SamplesOfUsageTest.java) |
| 23 | |
| 24 | |
| 25 | ## Latest News |
| 26 | |
| 27 | * 2015-01-23 JUnitParams 1.0.4 released. Check [release info.](RELEASES.md) |
| 28 | [more here](https://github.com/Pragmatists/JUnitParams/wiki) |
| 29 | |
| 30 | ## About |
| 31 | JUnitParams project adds a new runner to JUnit and provides much easier and readable parametrised tests for JUnit >=4.6. |
| 32 | |
| 33 | Main differences to standard JUnit Parametrised runner: |
| 34 | |
| 35 | * more explicit - params are in test method params, not class fields |
| 36 | * less code - you don't need a constructor to set up parameters |
| 37 | * you can mix parametrised with non-parametrised methods in one class |
| 38 | * params can be passed as a CSV string or from a parameters provider class |
| 39 | * parameters provider class can have as many parameters providing methods as you want, so that you can group different cases |
| 40 | * you can have a test method that provides parameters (no external classes or statics anymore) |
| 41 | * you can see actual parameter values in your IDE (in JUnit's Parametrised it's only consecutive numbers of parameters): |
| 42 | |
| 43 | ## Quickstart |
| 44 | |
| 45 | JUnitParams is available as Maven artifact: |
| 46 | ``` |
| 47 | <dependency> |
| 48 | <groupId>pl.pragmatists</groupId> |
| 49 | <artifactId>JUnitParams</artifactId> |
| 50 | <version>1.0.4</version> |
| 51 | <scope>test</scope> |
| 52 | </dependency> |
| 53 | ``` |
| 54 | |
| 55 | If you want to see just one simple test class with all main ways to use JUnitParams see here: |
| 56 | https://github.com/Pragmatists/junitparams/tree/master/src/test/java/junitparams/usage |
| 57 | |
| 58 | You can also have a look at [Wiki:Quickstart](https://github.com/Pragmatists/junitparams/wiki/Quickstart) |
| 59 | |
| 60 | **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/ |