Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/Pragmatists/JUnitParams
Parameterised tests that don't suck
https://github.com/Pragmatists/JUnitParams
Last synced: 6 days ago
JSON representation
Parameterised tests that don't suck
- Host: GitHub
- URL: https://github.com/Pragmatists/JUnitParams
- Owner: Pragmatists
- License: apache-2.0
- Created: 2014-07-28T08:32:38.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2023-11-04T01:37:58.000Z (about 1 year ago)
- Last Synced: 2024-08-02T16:46:58.581Z (3 months ago)
- Language: HTML
- Homepage: http://pragmatists.github.io/JUnitParams
- Size: 687 KB
- Stars: 889
- Watchers: 77
- Forks: 149
- Open Issues: 42
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# JUnitParams
[![Build Status](https://secure.travis-ci.org/Pragmatists/JUnitParams.png)](http://travis-ci.org/Pragmatists/JUnitParams) [![Coverage Status](https://coveralls.io/repos/github/Pragmatists/JUnitParams/badge.svg?branch=coverage)](https://coveralls.io/github/Pragmatists/JUnitParams?branch=master) [![Maven Central](https://maven-badges.herokuapp.com/maven-central/pl.pragmatists/JUnitParams/badge.svg)](https://maven-badges.herokuapp.com/maven-central/pl.pragmatists/JUnitParams)
*Parameterised tests that don't suck*
## Example
``` java
@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](https://github.com/Pragmatists/JUnitParams/blob/master/src/test/java/junitparams/usage/SamplesOfUsageTest.java)## Latest News
* 2017-11-03 JUnitParams 1.1.1 released. Check [release info](RELEASES.md).
[more news here](https://github.com/Pragmatists/JUnitParams/wiki)
## About
JUnitParams project adds a new runner to JUnit and provides much easier and readable parametrised tests for JUnit >= 4.12.Main differences to standard JUnit Parametrised runner:
* more explicit - params are in test method params, not class fields
* less code - you don't need a constructor to set up parameters
* you can mix parametrised with non-parametrised methods in one class
* params can be passed as a CSV string or from a parameters provider class
* parameters provider class can have as many parameters providing methods as you want, so that you can group different cases
* you can have a test method that provides parameters (no external classes or statics anymore)
* you can see actual parameter values in your IDE (in JUnit's Parametrised it's only consecutive numbers of parameters):## Quickstart
JUnitParams is available as Maven artifact:
```xmlpl.pragmatists
JUnitParams
1.1.1
test```
To use JUnitParams in a Gradle build add this to your dependencies:```groovy
testCompile 'pl.pragmatists:JUnitParams:1.1.1'
```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/usageYou can also have a look at [Wiki:Quickstart](https://github.com/Pragmatists/junitparams/wiki/Quickstart)
## Integration with Spring framework
Since **spring version 4.2** it is possible to integrate JUnitParams and spring. More about this [here.](https://github.com/Pragmatists/junitparams-spring-integration-example)