보ν΅μ when()
κ³Ό thenReturn()
μ μ¬μ©ν λ
private final List<String> mock = mock(List.class);
@Test
public void returnSingleValue() {
when(mock.size()).thenReturn(5);
assertEquals(5, mock.size());
}
μ΄λ° μμΌλ‘ νλμ κ°λ§μ 리ν΄νλ ννλ‘ Mock Object λ₯Ό μ¬μ©νμ§λ§, μ°μμ μΌλ‘ 리ν΄κ°μ νμΈμ ν λλ λ€μκ³Ό κ°μ΄ thenReturn()
μ νμν λ§νΌ λ λΆμ΄λ©΄ λ©λλ€.
@Test
public void returnMultipleValues() {
when(mock.size()).thenReturn(5).thenReturn(10);
assertEquals(5, mock.size());
assertEquals(10, mock.size());
}
λ€μμΌλ‘λ ν΄λΉ Mock Objectμ νλΌλ―Έν°μ ν¨κ» λ©μλλ₯Ό μ¬μ©ν λμλ λ€μκ³Ό κ°μ΄ μμ±νμλ©΄ λλλ°, λ§μ½ μ ν΄λμ νλΌλ―Έν°λ₯Ό μ¬μ©νμ§ μκ³ Mock Objectλ₯Ό μ¬μ©νκ² λλ©΄ μ λ¬ν κ°μ ν΄λΉνλ λν΄νΈκ°μ΄ λ°νλ©λλ€.
@Test
public void returnWithParameters() {
when(mock.get(0)).thenReturn("in28minutes");
assertEquals("in28minutes", mock.get(0));
assertNull(mock.get(1));
}
κ·Έλ¦¬κ³ μμ κ°μ΄ κ°μ νλ μ½λ©νμ§ μκ³ λμ μΌλ‘ νλΌλ―Έν° κ°μ μ€μ νκ³ μΆμΌμλ€λ©΄, Mockitoμ Argument Matchers
ν΄λμ€λ₯Ό μ¬μ©νμλ©΄ λ©λλ€.
@Test
public void returnWithGenericParameters() {
when(mock.get(anyInt())).thenReturn("in28minutes");
assertEquals("in28minutes", mock.get(0));
assertEquals("in28minutes", mock.get(1));
}