반응형
💡Junit이란
JUnit은 자바 프로그래밍 언어를 위한 오픈 소스 테스팅 프레임워크입니다. 특히, JUnit은 유닛 테스트(Unit Testing)를 수행하는 데 사용되며, 자바 언어로 작성된 소프트웨어의 품질과 안정성을 검증하는 데 도움을 줍니다. JUnit은 소프트웨어 개발자들이 코드를 작성하고 변경할 때 시스템이 여전히 예상대로 작동하는지 확인할 수 있는 강력한 도구로 널리 사용됩니다.
💡Eclipse에서 Junit 의존성 추가
- 방법 1
- 프로젝트를 선택하고 우클릭 후 Properties를 선택해주세요.
- Java Build Path를 선택하고 Libraries 탭에서 Add Library을 선택해주세요.
- JUnit을 선택하고, Next를 클릭해주세요.
- JUnit의 버전 선택 후 Finish 버튼을 클릭해 주세요.
- Properties 창에 JUnit 라이브러리가 추가된 것을 확인할 수 있습니다. Eclipse에 JUnit이 설정되었습니다
JUnit 라이브러리의 최신 버전을 확인하기 위해 메이븐 사이트에 접속합니다.
2. JUnit 검색하고 2. JUnit 을 클릭합니다.
3. 원하는 버전을 선택 후 클릭하면 Maven에 추가할 수 있는 코드를 확인 할 수 있습니다.
4. 다음과 같이 pom.xml에 추가합니다.
<!-- Spring-test -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>${org.springframework-version}</version>
</dependency>
<!-- https://mvnrepository.com/artifact/junit/junit -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13</version>
<scope>test</scope>
</dependency>
5. 다음과 같이 pom.xml에 추가합니다.
💡JUnit 사용방법
- 패키지를 선택한 후 New> other 클릭해주세요.
- 검색창에 JUnit을 작성하면 아래의 그림처럼 2개 목록이 뜹니다. JUnit Test Case를 선택해주세요.
- Name을 작성한 후 Browse를 클릭해주세요.
- 테스트할 클래스를 선택 후 OK 버튼을 클릭해 주세요.
- 클래스 내에 있는 메서드 목록이 나옵니다. 테스트 코드를 작성할 메서드를 선택 후 Finish 버튼을 클릭해 주세요.
- UserServiceTest.java 파일이 생성되었습니다.
- 테스트 코드작성
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
@RunWith(MockitoJUnitRunner.class)
public class UserServiceTest {
@InjectMocks
private UserService userService;
@Mock
private UserMapperInter usermapperInter;
@BeforeEach
public void setUp() {
MockitoAnnotations.openMocks(this); // Mockito 초기화 및 Mock 객체 생성
}
@Test
public void testUpdateCover() {
// 테스트할 데이터
String user_num = "123";
String user_cover = "test_cover.jpg";
// given: Mock 객체의 동작 설정 및 예상되는 파라미터를 설정
Map<String, String> expectedParams = new HashMap<>();
expectedParams.put("user_num", user_num);
expectedParams.put("user_cover", user_cover);
// when: Mock 객체의 메서드 호출 설정 (for void methods, use doNothing)
doNothing().when(usermapperInter).updateCover(expectedParams);
// when: 테스트 대상 메서드 호출
userService.updateCover(user_num, user_cover);
// then: 결과 검증
verify(usermapperInter).updateCover(expectedParams); // updateCover 메소드가 호출되었는지 확인
}
}
|
cs |
Mockito 라이브러리를 통해 가짜 객체(Mock)을 생성한 뒤 updateCover 메서드가 정상적으로 호출되는지 테스트 하는 코드입니다.
@BeforeEach 애너테이션은 각 테스트 메소드가 실행되기 전에 초기화 코드를 실행하는 데 사용됩니다.
8.테스트 클래스 실행하는 방법은 프로젝트에서 마우스 우클릭을 클릭합니다.
9.테스트 결과
실패 시
반응형
'프로그래밍 > Java' 카테고리의 다른 글
[Java] JDK 설치 (설치,환경변수 설정,버전 확인) (1) | 2023.10.26 |
---|---|
[Java] Process와 Thread의 차이 (0) | 2023.10.22 |
[Java] Thread를 자주쓰면 안되는 이유 (0) | 2023.10.21 |
[Java] Thread를 써야하는 이유 (0) | 2023.10.20 |
[Java] System.out.println 메소드는 현업에서 쓰지말라는 이유 (0) | 2023.10.18 |