π κ°λ
Mockμ μ€μ ꡬνμ μ¬μ©νμ§ μλ κ°μ§ κ°μ²΄λ‘, μ μν λμκ³Ό μνΈμμ©λ§ κ²μ¦νλ€.
μ μνμ§ μμ λ©μλλ κΈ°λ³Έμ μΌλ‘ null, 0 , falseλ₯Ό λ°ν
μ½λμμ
@Mock
private UserRepository userRepository;
when(userRepository.findById(1L))
.thenReturn(Optional.of(new User()));
π μΈμ μ¬μ©ν κΉ?
π κ°λ
π‘ Mockitoμμ Stubμ λ³λμ κ°μ²΄ νμ μ΄ μλλΌ, Mock κ°μ²΄μ νΉμ λ°νκ°μ μ€μ ν μ¬μ© λ°©μ( μν )μ μλ―Ένλ€.
when(calculator.add(2, 3)).thenReturn(5);
π μΈμ μ¬μ©ν κΉ?
λ¨μν μλ리μ€λ‘ "Aκ°μ΄ λ€μ΄μ€λ©΄ Bκ°μ μ€!"κ°μ μν©μ΄ μ£Όμ΄μ‘μ λ β
μΈλΆ APIλ μμ€ν μ λμ²΄ν΄ μ ν΄μ§ μλ΅λ§ μ£Όκ³ μΆμ κ²½μ° β
μ€μ μμ
π κ°λ
β οΈ Spyλ μ€μ λ‘μ§μ μ€ννλ―λ‘, μΈλΆ μμ‘΄μ±μ΄λ μν λ³κ²½μ΄ μλ κ°μ²΄μλ μ£Όμν΄μ μ¬μ©ν΄μΌ νλ€.
@Spy
private List<String> list = new ArrayList<>();
@Test
void testSpy() {
list.add("one"); // μ€μ λμ
when(list.size()).thenReturn(100); // μΌλΆλ§ μ€ν
}
π μΈμ μ¬μ©ν κΉ?
λλΆλΆμ λμμ μ€μ κ°μ²΄λ‘ μ¬μ©νλ, μΌλΆ λμλ§ ν΅μ νκ³ μΆμ λ β
λ©μλ νΈμΆ μ¬λΆλ₯Ό κ°μνλ©΄μ μ€μ λ‘μ§λ μ€ννκ³ μΆμ κ²½μ° β
μ€μ μμ
λ¨μ ν μ€νΈμμ μ€μν 건 λ 립μ±κ³Ό ν΅μ λ ₯μ΄λ€.
Mockitoμ Mock, Stub, Spyλ₯Ό μ μ ν μ¬μ©νμ¬ μΈλΆ μμ‘΄μ±μ 격리νκ³ , μνλ λ°©μμΌλ‘ λμμ μ μ΄νλ©° ν μ€νΈ νμ§μ ν¬κ² ν₯μμν¬ μ μλλ‘ νμπ―