Введение
В этом проекте вы научитесь писать юнит-тесты для простого класса Student с использованием фреймворка тестирования JUnit. Проект включает в себя настройку тестовой среды, написание тестовых случаев для методов get и set класса Student и проверку правильности реализации.
🎯 Задачи
В этом проекте вы научитесь:
- Как импортировать зависимость JUnit в проект
- Как настроить класс
StudentTestи инициализировать объектStudentдля тестирования - Как писать тестовые случаи для методов
getклассаStudent - Как писать тестовые случаи для методов
setклассаStudent
🏆 Достижения
После завершения этого проекта вы сможете:
- Настроить тестовую среду с использованием Maven и JUnit
- Писать эффективные юнит-тесты для класса на Java
- Проверить правильность реализации с использованием тестовых случаев
- Применять лучшие практики для написания поддерживаемого и надежного кода
Импортировать зависимость JUnit
В этом шаге вы научитесь импортировать зависимость JUnit в проект.
- Откройте файл
pom.xml, расположенный в директории~/project/StudentClass. - Добавьте следующую зависимость внутри раздела
<dependencies>:
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
Это добавит зависимость JUnit 4 в проект, которая необходима для написания и запуска юнит-тестов.
Настроить класс тестирования Student
В этом шаге вы научитесь настраивать класс StudentTest и инициализировать объект Student для тестирования.
- Откройте файл
StudentTest.java, расположенный в директории~/project/StudentClass/src/test/java/com/labex. - Добавьте следующий метод, аннотированный
@Before, в классStudentTest:
private Student studentTest;
@Before
public void setUp() {
studentTest = new Student("Tom", "male", 25);
}
Этот метод setUp() будет выполняться перед каждым тестовым методом, и он создаст новый объект Student с заданным именем, полом и возрастом.
Написать тесты для методов get и set
В этом шаге вы напишете тесты для проверки методов get и set класса Student.
- Добавьте следующие тестовые методы в класс
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());
}
Эти тесты убедят вас, что методы getName(), getAge() и getSex() класса Student работают правильно.
- Добавьте следующие тестовые методы в класс
StudentTest:
@Test
public void testSetName() {
studentTest.setName("Jimmy");
assertEquals("Jimmy", studentTest.getName());
}
@Test
public void testSetAge() {
studentTest.setAge(26);
assertEquals(25, studentTest.getAge()); // Возраст должен остаться неизменным
}
@Test
public void testSetSex() {
studentTest.setSex("female");
assertEquals("female", studentTest.getSex());
}
Эти тесты убедят вас, что методы setName(), setAge() и setSex() класса Student работают правильно.
Запустить тестовый случай
Для запуска тестового случая следуйте шагам ниже:
- В терминале перейдите в директорию проекта
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] ------------------------------------------------------------------------
Эти тесты гарантируют, что методы класса Student, такие как getName, getAge, getSex, setName, setAge и setSex, функционируют правильно, проверяя их ожидаемое поведение с помощью утверждений.
Резюме
Поздравляем! Вы завершили этот проект. Вы можете практиковаться в более многих лабораторных работах в LabEx, чтобы улучшить свои навыки.



