|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
T
- type of the object being createdpublic interface IMockBuilder<T>
Helps the creation of partial mocks with EasyMock
.
Example of usage:
public class MyClass { public MyClass(A a, B b) { } } public class MyClassTest { @Test public void testFoo() throws Exception { IMocksControl mockControl = createControl(); A a = mockControl.createMock(A.class); B b = mockControl.createMock(B.class); MyClass myClass = createMockBuilder(MyClass.class) .withConstructor(a, b).createMock(mockControl); // Set the expectations of A and B and test some method in MyClass } }
This class also has support for partial mocks as shown by the example below:
public class MyMockedClass {
// Empty class is also valid for IMockBuilder
.
public MyMockedClass() {
}
public void foo(int a) {
blah(a);
bleh();
}
public void blah(int a) {
}
public void bleh() {
}
}
public class MyMockedClassTest {
@Test
public void testFoo() throws Exception {
MyMockedClass myMockedClass = createMockBuilder(MyMockedClass.class)
.withConstructor().addMockedMethod("blah", int.class)
.addMockedMethod("bleh").createMock();
// These are the expectations.
myMockedClass.blah(1);
myMockedClass.bleh();
replay(myMockedClass);
myMockedClass.foo(1);
verify(myMockedClass);
}
}
Warning: There may be ambiguities when there are two different constructors with compatible types. For instance:
public class A { } public class B extends A { } public class ClassWithAmbiguity { public ClassWithAmbiguity(A a) { } public ClassWithAmbiguity(B b) { } }will cause problems if using
withConstructor(Object...)
. To solve
this, you can explicitly define the constructor parameter types to use by
calling withConstructor(Class...)
and then
withArgs(Object...)
, like this:
createMockBuilder(MyMockedClass.class).withConstructor(A.class).withArgs( new A()).createMock();
Method Summary | |
---|---|
IMockBuilder<T> |
addMockedMethod(Method method)
Adds a method to be mocked in the testing class. |
IMockBuilder<T> |
addMockedMethod(String methodName)
Adds a method to be mocked in the testing class. |
IMockBuilder<T> |
addMockedMethod(String methodName,
Class<?>... parameterTypes)
Adds a method to be mocked in the testing class. |
IMockBuilder<T> |
addMockedMethods(Method... methods)
Adds methods to be mocked in the testing class. |
IMockBuilder<T> |
addMockedMethods(String... methodNames)
Adds methods to be mocked in the testing class. |
T |
createMock()
Create a default mock from this builder. |
T |
createMock(IMocksControl control)
Create mock from the provided mock control using the arguments passed to the builder. |
T |
createMock(String name)
Create named mock from the provided mock control using the arguments passed to the builder. |
T |
createMock(String name,
IMocksControl control)
Create named mock from the provided mock control using the arguments passed to the builder. |
T |
createNiceMock()
Create a nice mock from this builder. |
T |
createNiceMock(String name)
Create a named nice mock from this builder. |
T |
createStrictMock()
Create a strict mock from this builder. |
T |
createStrictMock(String name)
Create a named strict mock from this builder. |
IMockBuilder<T> |
withArgs(Object... initArgs)
Defines the arguments to be passed to the constructor of the class. |
IMockBuilder<T> |
withConstructor()
Defines the empty constructor should be called. |
IMockBuilder<T> |
withConstructor(Class<?>... argTypes)
Defines the exact argument types for the constructor to use. |
IMockBuilder<T> |
withConstructor(Constructor<?> constructor)
Defines the constructor to use to instantiate the mock. |
IMockBuilder<T> |
withConstructor(Object... initArgs)
Defines the constructor parameters for the mocked class. |
Method Detail |
---|
IMockBuilder<T> addMockedMethod(Method method)
method
- method to be mocked
IMockBuilder<T> addMockedMethod(String methodName)
addMockedMethod
s in this class if that is the case.
methodName
- name of the method to be mocked
IMockBuilder<T> addMockedMethod(String methodName, Class<?>... parameterTypes)
methodName
- name of the method to be mockedparameterTypes
- types of the parameters of the method
IMockBuilder<T> addMockedMethods(String... methodNames)
addMockedMethod(String)
but to mock many methods at once.
methodNames
- names of the methods to be mocked
IMockBuilder<T> addMockedMethods(Method... methods)
addMockedMethod(Method)
but to mock many methods at once.
methods
- methods to be mocked
IMockBuilder<T> withConstructor(Constructor<?> constructor)
withArgs(java.lang.Object...)
with the actual constructor argument
values after this.
constructor
- the constructor to be called
IMockBuilder<T> withConstructor()
IMockBuilder<T> withConstructor(Object... initArgs)
initArgs
- arguments of the constructor
IMockBuilder<T> withConstructor(Class<?>... argTypes)
withArgs(java.lang.Object...)
with the actual constructor
argument values after this.
argTypes
- the exact argument types of the constructor
IMockBuilder<T> withArgs(Object... initArgs)
withConstructor(Class...)
or
withConstructor(Constructor)
.
initArgs
- the arguments to pass to the constructor
T createStrictMock()
T createMock()
T createNiceMock()
T createMock(IMocksControl control)
control
- IMocksControl
used to create the object
T createStrictMock(String name)
name
- the mock name
T createMock(String name)
name
- the mock name
T createNiceMock(String name)
name
- the mock name
T createMock(String name, IMocksControl control)
name
- the mock namecontrol
- IMocksControl
used to create the object
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |