소개
이 프로젝트에서는 JUnit 테스트 프레임워크를 사용하여 간단한 Student 클래스에 대한 유닛 테스트를 작성하는 방법을 배우게 됩니다. 이 프로젝트는 테스트 환경 설정, Student 클래스의 get 및 set 메서드에 대한 테스트 케이스 작성, 구현의 정확성 검증을 포함합니다.
🎯 과제
이 프로젝트에서 다음을 배우게 됩니다:
- JUnit 의존성을 프로젝트에 임포트하는 방법
StudentTest클래스를 설정하고 테스트를 위해Student객체를 초기화하는 방법Student클래스의get메서드에 대한 테스트 케이스를 작성하는 방법Student클래스의set메서드에 대한 테스트 케이스를 작성하는 방법
🏆 성과
이 프로젝트를 완료하면 다음을 수행할 수 있습니다:
- Maven 과 JUnit 을 사용하여 테스트 환경을 설정합니다.
- Java 클래스에 대한 효과적인 유닛 테스트를 작성합니다.
- 테스트 케이스를 사용하여 구현의 정확성을 검증합니다.
- 유지 관리 가능하고 신뢰할 수 있는 코드를 작성하기 위한 모범 사례를 적용합니다.
JUnit 의존성 가져오기
이 단계에서는 JUnit 의존성을 프로젝트에 임포트하는 방법을 배우게 됩니다.
~/project/StudentClass디렉토리에 있는pom.xml파일을 엽니다.<dependencies>섹션 안에 다음 의존성을 추가합니다:
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
이렇게 하면 JUnit 4 의존성이 프로젝트에 추가되어 유닛 테스트를 작성하고 실행하는 데 필요합니다.
Student 테스트 클래스 설정
이 단계에서는 StudentTest 클래스를 설정하고 테스트를 위해 Student 객체를 초기화하는 방법을 배우게 됩니다.
~/project/StudentClass/src/test/java/com/labex디렉토리에 있는StudentTest.java파일을 엽니다.- 다음
@Before어노테이션이 있는 메서드를StudentTest클래스에 추가합니다:
private Student studentTest;
@Before
public void setUp() {
studentTest = new Student("Tom", "male", 25);
}
이 setUp() 메서드는 각 테스트 메서드 전에 실행되며, 주어진 이름, 성별 및 나이로 새로운 Student 객체를 생성합니다.
Get 및 Set 메서드 테스트 작성
이 단계에서는 Student 클래스의 get 및 set 메서드를 검증하기 위한 테스트를 작성합니다.
- 다음 테스트 메서드를
StudentTest클래스에 추가합니다:
@Test
public void testGetName() {
assertEquals("Tom", studentTest.getName());
}
@Test
public void testGetAge() {
assertEquals(25, studentTest.getAge());
}
@Test
public void testGetSex() {
assertEquals("male", studentTest.getSex());
}
이러한 테스트는 Student 클래스의 getName(), getAge(), 및 getSex() 메서드가 올바르게 작동하는지 확인합니다.
- 다음 테스트 메서드를
StudentTest클래스에 추가합니다:
@Test
public void testSetName() {
studentTest.setName("Jimmy");
assertEquals("Jimmy", studentTest.getName());
}
@Test
public void testSetAge() {
studentTest.setAge(26);
assertEquals(25, studentTest.getAge()); // Age should remain unchanged
}
@Test
public void testSetSex() {
studentTest.setSex("female");
assertEquals("female", studentTest.getSex());
}
이러한 테스트는 Student 클래스의 setName(), setAge(), 및 setSex() 메서드가 올바르게 작동하는지 확인합니다.
테스트 케이스 실행
테스트 케이스를 실행하려면 다음 단계를 따르세요:
- 터미널에서 다음 명령을 사용하여
StudentClass프로젝트 디렉토리로 이동합니다:
cd ~/project/StudentClass/
- 다음 명령을 실행하여 테스트 케이스를 실행합니다:
mvn test
출력은 다음과 유사해야 합니다:
[INFO] -------------------------------------------------------
[INFO] T E S T S
[INFO] -------------------------------------------------------
[INFO] Running com.labex.StudentTest
[INFO] Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.099 s - in com.labex.StudentTest
[INFO]
[INFO] Results:
[INFO]
[INFO] Tests run: 6, Failures: 0, Errors: 0, Skipped: 0
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 4.237 s
[INFO] Finished at: 2024-05-12T12:23:30Z
[INFO] ------------------------------------------------------------------------
이러한 테스트는 getName, getAge, getSex, setName, setAge, 및 setSex와 같은 Student 클래스의 메서드가 어설션 (assertion) 을 통해 예상되는 동작을 검증함으로써 올바르게 작동하는지 확인합니다.
요약
축하합니다! 이 프로젝트를 완료했습니다. LabEx 에서 더 많은 랩을 연습하여 기술을 향상시킬 수 있습니다.



