程序包 org.junit.rules

类 Timeout

  • 所有已实现的接口:
    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 HasGlobalLongTimeout {
    
      @Rule
      public Timeout globalTimeout= new Timeout(20);
    
      @Test
      public void run1() throws InterruptedException {
          Thread.sleep(100);
      }
    
      @Test
      public void infiniteLoop() {
          while (true) {}
      }
     }
     

    Each test is run in a new thread. If the specified timeout elapses before the test completes, its execution is interrupted via Thread.interrupt(). This happens in interruptable I/O and locks, and methods in Object and Thread throwing InterruptedException.

    A specified timeout of 0 will be interpreted as not set, however tests will still launch from separate threads. This can be useful for disabling timeouts in environments where they are dynamically set based on some property.

    从以下版本开始:
    4.7
    • 构造器详细资料

      • Timeout

        public Timeout​(long timeout,
                       TimeUnit timeUnit)
        Create a Timeout instance with the timeout specified at the timeUnit of granularity of the provided TimeUnit.
        参数:
        timeout - the maximum time to allow the test to run before it should timeout
        timeUnit - the time unit for the timeout
        从以下版本开始:
        4.12
      • Timeout

        protected Timeout​(Timeout.Builder builder)
        Create a Timeout instance initialized with values form a builder.
        从以下版本开始:
        4.12
    • 方法详细资料

      • builder

        public static Timeout.Builder builder()
        Returns a new builder for building an instance.
        从以下版本开始:
        4.12
      • millis

        public static Timeout millis​(long millis)
        Creates a Timeout that will timeout a test after the given duration, in milliseconds.
        从以下版本开始:
        4.12
      • seconds

        public static Timeout seconds​(long seconds)
        Creates a Timeout that will timeout a test after the given duration, in seconds.
        从以下版本开始:
        4.12
      • getTimeout

        protected final long getTimeout​(TimeUnit unit)
        Gets the timeout configured for this rule, in the given units.
        从以下版本开始:
        4.12
      • getLookingForStuckThread

        protected final boolean getLookingForStuckThread()
        Gets whether this Timeout will look for a stuck thread when the test times out.
        从以下版本开始:
        4.12
      • apply

        public Statement apply​(Statement base,
                               Description description)
        从接口复制的说明: TestRule
        Modifies the method-running Statement to implement this test-running rule.
        指定者:
        apply 在接口中 TestRule
        参数:
        base - The Statement to be modified
        description - A Description of the test implemented in base
        返回:
        a new statement, which may be the same as base, a wrapper around base, or a completely new Statement.