Size: 2120
Comment:
|
Size: 2246
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 20: | Line 20: |
* any(): matches anything * anyString(): matches any non-null String * eq(): argument that is equal to the given value. |
Mockito
Unit tests mocks framework.
Annotations
- Constructor injection
- Property setter injection
- Field injection
- @Mock
- @Test
methods purpose
- mock(): create a mock
- when(): specify how a mock should behave
- verify(): to check mocked/stubbed methods were called with given arguments
- any(): matches anything
- anyString(): matches any non-null String
- eq(): argument that is equal to the given value.
Example
1 import static org.mockito.Matchers.any;
2 import static org.mockito.Matchers.anyObject;
3 import static org.mockito.Matchers.eq;
4 import static org.mockito.Mockito.doCallRealMethod;
5 import static org.mockito.Mockito.mock;
6 import static org.mockito.Mockito.when;
7 import org.junit.Assert;
8 import org.junit.Test;
9 import org.springframework.mock.env.MockEnvironment;
10
11 public class TestX{
12 @Test
13 public void testXyz() {
14 MockEnvironment env = new MockEnvironment();
15 env.setProperty("intx", "1");
16 env.setProperty("intz", "10");
17 String rsp1="rsp1";
18 String rsp2="rsp2";
19 ClassX cx = mock(ClassX.class);
20 when(cx.getURL(anyObject(), anyObject(), eq("aaaa"))).thenReturn(rsp1).thenReturn(rsp2);
21 doCallRealMethod().when(cx).initialize(any(), any());
22 doCallRealMethod().when(cx).doStuff(any(), any());
23
24 cx.initialize(null, env);
25 List<String> responsex = cx.doStuff(null, "kkll"));
26 Assert.assertEquals(123, responsex.size());
27 }
28 }
BDDMockito
Behavior Driven Development style of writing tests uses //given //when //then comments as fundamental parts of your test methods.
1 import static org.mockito.BDDMockito.*;
2
3 Dummy dummy = mock(Dummy.class);
4 Foo foo = new Foo(dummy);
5
6 public void doStuff() throws Exception {
7 //given
8 given(dummy.getObj()).willReturn(new Obj());
9
10 //when
11 PlentyStuff ps = shop.getObj();
12
13 //then
14 assertThat(ps, containObj());
15 }