org.jmock
Class Mockery

java.lang.Object
  extended by org.jmock.Mockery
All Implemented Interfaces:
SelfDescribing
Direct Known Subclasses:
JUnit3Mockery, JUnit4Mockery

public class Mockery
extends Object
implements SelfDescribing

A Mockery represents the context, or neighbourhood, of the object(s) under test. The neighbouring objects in that context are mocked out. The test specifies the expected interactions between the object(s) under test and its neighbours and the Mockery checks those expectations while the test is running.

Author:
npryce, smgf, named by Ivan Moore.

Constructor Summary
Mockery()
           
 
Method Summary
 void addExpectation(Expectation expectation)
          Adds an expected invocation that the object under test will perform upon objects in its context during the test.
 void assertIsSatisfied()
          Fails the test if there are any expectations that have not been met.
 void checking(org.jmock.internal.ExpectationBuilder expectations)
          Specifies the expected invocations that the object under test will perform upon objects in its context during the test.
 void describeTo(Description description)
           
<T> T
mock(Class<T> typeToMock)
          Creates a mock object of type typeToMock and generates a name for it.
<T> T
mock(Class<T> typeToMock, String name)
          Creates a mock object of type typeToMock with the given name.
 Sequence sequence(String name)
          Returns a new sequence that is used to constrain the order in which expectations can occur.
 void setDefaultResultForType(Class<?> type, Object result)
          Sets the result returned for the given type when no return value has been explicitly specified in the expectation.
 void setExpectationErrorTranslator(ExpectationErrorTranslator expectationErrorTranslator)
          Changes the expectation error translator used to translate expectation errors into errors that report test failures.
 void setImposteriser(Imposteriser imposteriser)
          Changes the imposteriser used to adapt mock objects to the mocked type.
 void setNamingScheme(MockObjectNamingScheme namingScheme)
          Changes the naming scheme used to generate names for mock objects that have not been explicitly named in the test.
 void setThreadingPolicy(ThreadingPolicy threadingPolicy)
          Changes the policy by which the Mockery copes with multiple threads.
 States states(String name)
          Returns a new state machine that is used to constrain the order in which expectations can occur.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Mockery

public Mockery()
Method Detail

setDefaultResultForType

public void setDefaultResultForType(Class<?> type,
                                    Object result)
Sets the result returned for the given type when no return value has been explicitly specified in the expectation.

Parameters:
type - The type for which to return result.
result - The value to return when a method of return type type is invoked for which an explicit return value has has not been specified.

setImposteriser

public void setImposteriser(Imposteriser imposteriser)
Changes the imposteriser used to adapt mock objects to the mocked type. The default imposteriser allows a test to mock interfaces but not classes, so you'll have to plug a different imposteriser into the Mockery if you want to mock classes.


setNamingScheme

public void setNamingScheme(MockObjectNamingScheme namingScheme)
Changes the naming scheme used to generate names for mock objects that have not been explicitly named in the test. The default naming scheme names mock objects by lower-casing the first letter of the class name, so a mock object of type BananaSplit will be called "bananaSplit" if it is not explicitly named in the test.


setExpectationErrorTranslator

public void setExpectationErrorTranslator(ExpectationErrorTranslator expectationErrorTranslator)
Changes the expectation error translator used to translate expectation errors into errors that report test failures. By default, expectation errors are not translated and are thrown as errors of type ExpectationError. Plug in a new expectation error translator if you want your favourite test framework to report expectation failures using its own error type.


setThreadingPolicy

public void setThreadingPolicy(ThreadingPolicy threadingPolicy)
Changes the policy by which the Mockery copes with multiple threads. The default policy throws an exception if the Mockery is called from different threads.

See Also:
Synchroniser

mock

public <T> T mock(Class<T> typeToMock)
Creates a mock object of type typeToMock and generates a name for it.


mock

public <T> T mock(Class<T> typeToMock,
                  String name)
Creates a mock object of type typeToMock with the given name.


sequence

public Sequence sequence(String name)
Returns a new sequence that is used to constrain the order in which expectations can occur.

Parameters:
name - The name of the sequence.
Returns:
A new sequence with the given name.

states

public States states(String name)
Returns a new state machine that is used to constrain the order in which expectations can occur.

Parameters:
name - The name of the state machine.
Returns:
A new state machine with the given name.

checking

public void checking(org.jmock.internal.ExpectationBuilder expectations)
Specifies the expected invocations that the object under test will perform upon objects in its context during the test. The builder is responsible for interpreting high-level, readable API calls to construct an expectation. This method can be called multiple times per test and the expectations defined in each block are combined as if they were defined in same order within a single block.


addExpectation

public void addExpectation(Expectation expectation)
Adds an expected invocation that the object under test will perform upon objects in its context during the test. This method allows a test to define an expectation explicitly, bypassing the high-level API, if desired.


assertIsSatisfied

public void assertIsSatisfied()
Fails the test if there are any expectations that have not been met.


describeTo

public void describeTo(Description description)
Specified by:
describeTo in interface SelfDescribing