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