编写上述代码的测试类
时间: 2024-10-18 13:02:04 浏览: 6
为了编写测试`People`类的测试类,你可以使用JUnit等单元测试框架。以下是一个简单的测试示例:
```java
import org.junit.Test;
import static org.junit.Assert.*;
public class PeopleTest {
private People people;
@Before
public void setUp() {
people = new People();
people.setName("张三");
people.setAge(25); // 初始化默认值
}
@Test
public void testSetSexValid() {
people.setSex("男");
assertEquals("男", people.getSex());
}
@Test
public void testSetSexInvalid() {
assertThrows(GendorException.class, () -> people.setSex("其他"));
assertEquals("", people.getSex()); // 设置失败后应保持原有性别不变
}
@Test
public void testGetSexWithoutSetting() {
assertThrows(IllegalStateException.class, people::getSex);
// 如果getSex在未设置性别的情况下被调用,应抛出异常
}
@After
public void tearDown() {
people = null; // 清理资源
}
}
```
在这个测试类中,我们创建了一个`People`实例,并设置了初始的姓名和年龄。然后,我们编写了一系列的测试方法来检查`setSex`和`getSex`方法的行为。`testSetSexValid`检查正常设置,`testSetSexInvalid`验证无效性别会被抛出异常,`testGetSexWithoutSetting`检查未设置性别的访问是否会引发`IllegalStateException`。每个测试方法结束后都调用了`tearDown`方法来清理实例,避免内存泄漏。
阅读全文