Test/Mockito

Mockito

잔망루피 2022. 3. 4. 22:31
반응형

Mockito 사용 예시

@Test
@DisplayName("회원 가입")
public void addUser() {
    // given
    UserDto userDto = UserDto.builder()
            .email(email)
            .username(username)
            .password(password)
            .name(name)
            .build();

    when(userRepository.save(any())).thenReturn(user);

    // when
    UserDto saved_user = userService.signUp(userDto);

    // then
    assertThat(saved_user.getUsername()).isEqualTo(userDto.getUsername());
}

 

 

Argument matchers

any() nulls, varargs를 포함해서 어떤 것이든 매칭
anyBoolean() Any boolean or non-null Boolean
anyByte() Any byte or non-null Byte
anyChar() Any char or non-null Character
anyInt() Any int or non-null Integer
anyLong() Any long or non-null Long
anyFloat() Any float or non-null Float
anyDouble() Any double or non-null Double
anyShort() Any short or non-null Short
anyString() Any non-null String
anyList() Any non-null List
anySet() Any non-null Set
anyMap() Any non-null Map
anyCollection Any non-null Collection
anyIterable Any non-null Iterable

 

// 예시
when(mockedList.get(anyInt())).thenReturn("element");

 

 

verify(객체).메소드 메소드 호출 검증
ex) List mockedList = mock(List.class);

mockedList.add("one");
verify(mockedList).add("one");
   
   

 

 

 

참고👇

https://javadoc.io/doc/org.mockito/mockito-core/latest/org/mockito/ArgumentMatchers.html

 

ArgumentMatchers - mockito-core 5.1.1 javadoc

Latest version of org.mockito:mockito-core https://javadoc.io/doc/org.mockito/mockito-core Current version 5.1.1 https://javadoc.io/doc/org.mockito/mockito-core/5.1.1 package-list path (used for javadoc generation -link option) https://javadoc.io/doc/org.m

javadoc.io

 

https://javadoc.io/doc/org.mockito/mockito-core/latest/org/mockito/Mockito.html#3

 

Mockito - mockito-core 5.1.1 javadoc

Latest version of org.mockito:mockito-core https://javadoc.io/doc/org.mockito/mockito-core Current version 5.1.1 https://javadoc.io/doc/org.mockito/mockito-core/5.1.1 package-list path (used for javadoc generation -link option) https://javadoc.io/doc/org.m

javadoc.io

 

https://minkwon4.tistory.com/181

 

[JUnit] Mockito를 이용한 단위 테스트

Mockito란? Mockito란 단위 테스트를 위한 Java Mocking Framework이다. JUnit에서 가짜 객체인 Mock을 생성해주고 관리하고 검증할 수 있도록 지원해주는 Framework이다. 구현체가 아직 없는 경우나 구현체가 있

minkwon4.tistory.com

 

반응형