[JUnit & Mockito] @Mock & @InjectMocks

dnjscksdn98Β·2020λ…„ 8μ›” 27일
0

JUnit & Mockito

λͺ©λ‘ 보기
2/9
post-thumbnail

πŸš€ @Mock 을 μ‚¬μš©ν•΄μ„œ Mock Object 생성

κΈ°μ‘΄μ—λŠ” SimpleDataRepository simpleDataRepositoryMock = mock(SimpleDataRepository.class); 이런 μ‹μœΌλ‘œ mock() ν•¨μˆ˜λ₯Ό ν†΅ν•΄μ„œ 맀번 Mock Objectλ₯Ό 생성해 μ£Όλ©΄μ„œ ν…ŒμŠ€νŠΈλ₯Ό ν•΄μ€¬μ§€λ§Œ 이 뢀뢄을 @Mock μ–΄λ…Έν…Œμ΄μ…˜μ„ ν†΅ν•΄μ„œ μ½”λ“œλŸ‰μ„ 쀄여쀄 수 μžˆμŠ΅λ‹ˆλ‹€.

@ExtendWith(MockitoExtension.class)
public class SimpleServiceMockTests {

    @InjectMocks
    SimpleService simpleService;

    @Mock
    SimpleDataRepository simpleDataRepository;
    ...
}
  • @Mock 은 ν•΄λ‹Ή ν΄λž˜μŠ€μ— λŒ€ν•œ Mock Objectλ₯Ό μƒμ„±ν•΄μ€λ‹ˆλ‹€.
  • @ExtendWith(MockitoExtension.class) 은 Mock ν…ŒμŠ€νŠΈκ°€ ν•„μš”ν•œ 경우 μ¨μ•Όν•˜λŠ” μ–΄λ…Έν…Œμ΄μ…˜μž…λ‹ˆλ‹€.
  • λ˜λŠ” λ‹€μŒκ³Ό 같이 ν•¨μˆ˜λ₯Ό μž‘μ„±ν•΄ μ€˜λ„ λ©λ‹ˆλ‹€.
@BeforeEach
public void init() {
    MockitoAnnotations.initMocks(this);
}
  • @InjectMocks λŠ” @Mock 이 뢙은 객체λ₯Ό μ£Όμž…μ‹œν‚€λŠ” μ–΄λ…Έν…Œμ΄μ…˜μž…λ‹ˆλ‹€.
profile
Alex's Develog πŸ€”

0개의 λŒ“κΈ€