org.junit.rules
Class Timeout

java.lang.Object
  extended by org.junit.rules.Timeout
All Implemented Interfaces:
TestRule

public class Timeout
extends Object
implements TestRule

The Timeout Rule applies the same timeout to all test methods in a class:

 public static class HasGlobalTimeout {
  public static String log;

  @Rule
  public Timeout globalTimeout= new Timeout(20);

  @Test
  public void testInfiniteLoop1() {
      log+= "ran1";
      for (;;) {
         }
     }

  @Test
  public void testInfiniteLoop2() {
      log+= "ran2";
      for (;;) {
         }
     }
 }
 

Since:
4.7

Constructor Summary
Timeout(int millis)
           
 
Method Summary
 Statement apply(Statement base, Description description)
          Modifies the method-running Statement to implement this test-running rule.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Timeout

public Timeout(int millis)
Parameters:
millis - the millisecond timeout
Method Detail

apply

public Statement apply(Statement base,
                       Description description)
Description copied from interface: TestRule
Modifies the method-running Statement to implement this test-running rule.

Specified by:
apply in interface TestRule
Parameters:
base - The Statement to be modified
description - A Description of the test implemented in base
Returns:
a new statement, which may be the same as base, a wrapper around base, or a completely new Statement.