|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.junit.rules.Timeout
public class Timeout
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.
Constructor Summary | |
---|---|
|
Timeout(int millis)
Deprecated. |
|
Timeout(long timeout,
TimeUnit timeUnit)
Create a Timeout instance with the timeout specified
at the timeUnit of granularity of the provided TimeUnit . |
protected |
Timeout(Timeout t,
boolean lookForStuckThread)
Create a Timeout instance with the same fields as t
except for lookForStuckThread . |
Method Summary | |
---|---|
Statement |
apply(Statement base,
Description description)
Modifies the method-running Statement to implement this
test-running rule. |
Timeout |
lookingForStuckThread(boolean enable)
Specifies whether to look for a stuck thread. |
static Timeout |
millis(long millis)
|
static Timeout |
seconds(long seconds)
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
@Deprecated public Timeout(int millis)
Timeout
instance with the timeout specified
in milliseconds.
This constructor is deprecated.
Instead use Timeout(long, java.util.concurrent.TimeUnit)
,
millis(long)
, or seconds(long)
.
millis
- the maximum time in milliseconds to allow the
test to run before it should timeoutpublic Timeout(long timeout, TimeUnit timeUnit)
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 timeouttimeUnit
- the time unit for the timeout
protected Timeout(Timeout t, boolean lookForStuckThread)
Timeout
instance with the same fields as t
except for lookForStuckThread
.
t
- the Timeout
instance to copylookForStuckThread
- whether to look for a stuck threadMethod Detail |
---|
public static Timeout millis(long millis)
millis
- the timeout in millisecondspublic static Timeout seconds(long seconds)
seconds
- the timeout in secondspublic Timeout lookingForStuckThread(boolean enable)
enable
- true
to enable the feature
public Statement apply(Statement base, Description description)
TestRule
Statement
to implement this
test-running rule.
apply
in interface TestRule
base
- The Statement
to be modifieddescription
- A Description
of the test implemented in base
base
,
a wrapper around base
, or a completely new Statement.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |