
보ν΅μ 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));
}