Class Timeout

  • All Implemented Interfaces:
    TestRule

    public class Timeout
    extends java.lang.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

      Constructors 
      Constructor Description
      Timeout​(int millis)  
    • 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.