문서의 선택한 두 판 사이의 차이를 보여줍니다.
양쪽 이전 판 이전 판 다음 판 | 이전 판 다음 판 양쪽 다음 판 | ||
java:mockito [2015/11/16 00:00] kwon37xi |
java:mockito [2022/08/24 13:51] kwon37xi [mockStatic] |
||
---|---|---|---|
줄 1: | 줄 1: | ||
====== Mockito ====== | ====== Mockito ====== | ||
- | * [[http://code.google.com/p/ | + | * [[https://github.com/ |
- | * [[http://refcardz.dzone.com/ | + | * https:// |
+ | * [[https:// | ||
+ | * [[https:// | ||
- | ====== argThat | + | ===== argThat ===== |
'' | '' | ||
+ | |||
+ | 이를 사용하면 특히 테스트 대상 메소드 내부에서 직접 '' | ||
[[http:// | [[http:// | ||
줄 38: | 줄 42: | ||
<code java> | <code java> | ||
doReturn(리턴값).when(mockObject).mockMethod(argThat(....)); | doReturn(리턴값).when(mockObject).mockMethod(argThat(....)); | ||
+ | </ | ||
+ | |||
+ | ===== ArgumentCaptor ===== | ||
+ | * [[https:// | ||
+ | |||
+ | <code java> | ||
+ | // MockitoRunner 사용시 | ||
+ | @Captor | ||
+ | ArgumentCaptor< | ||
+ | |||
+ | // 코드로 직접 지정 | ||
+ | ArgumentCaptor< | ||
+ | </ | ||
+ | ===== initMocks ===== | ||
+ | * [[https:// | ||
+ | * '' | ||
+ | <code java> | ||
+ | public class CalculatorApplicationTestInitMocks { | ||
+ | @Mock private Adder adderMock; | ||
+ | @Mock private Subtracter subtracterMock; | ||
+ | @Mock private Multiplier multiplierMock; | ||
+ | @Mock private Divisor divisorMock; | ||
+ | |||
+ | @Before | ||
+ | public void setUp() { | ||
+ | MockitoAnnotations.initMocks(this); | ||
+ | ... | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | ===== JUnit 5 ===== | ||
+ | * [[java: | ||
+ | * [[https:// | ||
+ | |||
+ | <code java> | ||
+ | @ExtendWith(MockitoExtension.class) | ||
+ | class UserServiceTest { | ||
+ | @Mockito ... | ||
+ | } | ||
+ | |||
+ | // Strictness 를 설정하려면 아래 추가. default가 STRICT_STUBS임. LENIENT 로 변경하기 | ||
+ | @MockitoSettings(strictness = Strictness.LENIENT) | ||
+ | </ | ||
+ | * '' | ||
+ | ===== mockStatic ===== | ||
+ | * static method mocking. 특히 '' | ||
+ | * 항상 '' | ||
+ | |||
+ | |||
+ | <code java> | ||
+ | | ||
+ | try (MockedStatic< | ||
+ | | ||
+ | | ||
+ | | ||
+ | } | ||
+ | | ||
+ | </ | ||
+ | |||
+ | ===== mockConstruction ===== | ||
+ | * 생성자 mocking | ||
+ | * 항상 '' | ||
+ | |||
+ | |||
+ | <code java> | ||
+ | | ||
+ | try (MockedConstruction mocked = mockConstruction(Foo.class)) { | ||
+ | Foo foo = new Foo(); | ||
+ | | ||
+ | | ||
+ | | ||
+ | } | ||
+ | | ||
+ | |||
</ | </ | ||
줄 43: | 줄 122: | ||
* [[http:// | * [[http:// | ||
* [[http:// | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// |