Clone this repo:
  1. 99fe7c3 Make sure that filters affect the Description by Paul Duffin · 19 hours ago master
  2. ea07fbc Partially revert "Patch to make it compile against JUnit 4.10 and run on Android" by Paul Duffin · 3 months ago sdk-release
  3. 2eb7ea4 Replace junit-targetdex with junit by Paul Duffin · 4 months ago
  4. e9e6cb4 Use junit-host instead of junit am: 92b5e663ad by Paul Duffin · 4 months ago
  5. 92b5e66 Use junit-host instead of junit by Paul Duffin · 4 months ago


Build Status Coverage Status Maven Central

Parameterised tests that don't suck


public class PersonTest {

  @Parameters({"17, false", 
               "22, true" })
  public void personIsAdult(int age, boolean valid) throws Exception {
    assertThat(new Person(age).isAdult(), is(valid));

See more examples

Latest News


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:

  • 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):


JUnitParams is available as Maven artifact:


If you want to see just one simple test class with all main ways to use JUnitParams see here:

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