Upgrade to Pro — share decks privately, control downloads, hide ads and more …

JUnit 4 New features

Avatar for shanti2530 shanti2530
November 29, 2011

JUnit 4 New features

A short presentation I gave regarding rules and parameterized tests.

Avatar for shanti2530

shanti2530

November 29, 2011
Tweet

Other Decks in Programming

Transcript

  1. public class DrinkRule extends TestRule { int numOfDrinks; public DrinkRule(final

    int numOfDrinks) { this.numOfDrinks = numOfDrinks; } @Override public Statement apply(Statement base, Description desc) { return new Statement() { @Override public void evaluate() throws … { consumeDrinks(); try { base.evaluate(); } finally { salvageReputation(); } } }; } }
  2. public static class UseRuleChain { @Rule public TestRule chain= RuleChain

    .outerRule(new LoggingRule("outer rule") .around(new LoggingRule("middle rule") .around(new LoggingRule("inner rule"); @Test public void example() {…} }
  3. @RunWith(Parameterized.class) public class TestSoberity { int numOfDrinks; @Rule DrinkRule drinkRule;

    @Parameters public static Collection<Object[]> drinks() { final Object[][] data ={{1}, {3}, {5}, {10}}; return Arrays.asList(data); } public TestSoberity (final int numOfDrinks) { drinkRule = new DrinkRule(numOfDrinks); } @Test public void reciteTheAlphabet() {} @Test public void walkAndTurn() {} }