- 
          
 - 
                Notifications
    
You must be signed in to change notification settings  - Fork 3.3k
 
Timeout for tests
        mustafau edited this page Mar 1, 2015 
        ·
        19 revisions
      
    Tests that 'runaway' or take too long, can be automatically failed. There are two options for implementing this behaviour:
You can optionally specify timeout in milliseconds to cause a test method to fail if it takes longer than that number of milliseconds.  If the time limit is exceeded, then the failure is triggered by an Exception being thrown:
@Test(timeout=1000)
public void testWithTimeout() {
  ...
}The Timeout Rule applies the same timeout to all test methods in a class:
public class HasGlobalTimeout {
    public static String log;
    @Rule
    public Timeout globalTimeout = Timeout.seconds(10); // 10 seconds max per method tested
    @Test
    public void testInfiniteLoop1() {
        log += "ran1";
        for (;;) {
        }
    }
    @Test
    public void testInfiniteLoop2() {
        log += "ran2";
        for (;;) {
        }
    }
}