Mock mockPico = mock(PicoContainer.class);
PicoVisitor visitor = new VerifyingVisitor();
Error error = new InternalError("junit");
mockPico.expects(once()).method("accept").with(same(visitor)).id("1");
mockPico.expects(once()).method("accept").with(same(visitor)).after("1").will(throwException(error));
visitor.traverse(mockPico.proxy());
try {
visitor.traverse(mockPico.proxy());
fail("UndeclaredThrowableException expected");
} catch(InternalError e) {
assertEquals("junit", e.getMessage());