public class

ExpectedException

extends Object
implements MethodRule
java.lang.Object
   ↳ org.junit.rules.ExpectedException

Class Overview

The ExpectedException Rule allows in-test specification of expected exception types and messages:

 // These tests all pass.
 public static class HasExpectedException {
 	@Rule
 	public ExpectedException thrown= new ExpectedException();
 
 	@Test
 	public void throwsNothing() {
    // no exception expected, none thrown: passes.
 	}
 
 	@Test
 	public void throwsNullPointerException() {
 		thrown.expect(NullPointerException.class);
 		throw new NullPointerException();
 	}
 
 	@Test
 	public void throwsNullPointerExceptionWithMessage() {
 		thrown.expect(NullPointerException.class);
 		thrown.expectMessage("happened?");
 		thrown.expectMessage(startsWith("What"));
 		throw new NullPointerException("What happened?");
 	}
 }
 

Summary

Public Methods
Statement apply(Statement base, FrameworkMethod method, Object target)
Modifies the method-running Statement to implement an additional test-running rule.
void expect(Class<? extends Throwable> type)
Adds to the list of requirements for any thrown exception that it should be an instance of type
void expect(Matcher<?> matcher)
Adds matcher to the list of requirements for any thrown exception.
void expectMessage(String substring)
Adds to the list of requirements for any thrown exception that it should contain string substring
void expectMessage(Matcher<String> matcher)
Adds matcher to the list of requirements for the message returned from any thrown exception.
static ExpectedException none()
[Expand]
Inherited Methods
From class java.lang.Object
From interface org.junit.rules.MethodRule

Public Methods

public Statement apply (Statement base, FrameworkMethod method, Object target)

Modifies the method-running Statement to implement an additional test-running rule.

Parameters
base The Statement to be modified
method The method to be run
target The object on with the method will be run.
Returns
  • a new statement, which may be the same as base, a wrapper around base, or a completely new Statement.

public void expect (Class<? extends Throwable> type)

Adds to the list of requirements for any thrown exception that it should be an instance of type

public void expect (Matcher<?> matcher)

Adds matcher to the list of requirements for any thrown exception.

public void expectMessage (String substring)

Adds to the list of requirements for any thrown exception that it should contain string substring

public void expectMessage (Matcher<String> matcher)

Adds matcher to the list of requirements for the message returned from any thrown exception.

public static ExpectedException none ()

Returns
  • a Rule that expects no exception to be thrown (identical to behavior without this Rule)