现在要测试NextDay函数,用判定表方法来设计相应的测试用例,并编写对应Junit代码进行测试
时间: 2024-05-15 19:18:55 浏览: 82
软件测试NEXTDAY,并且有测试用例。
5星 · 资源好评率100%
好的,这是一个技术问题,我可以为您提供答案。
首先,我们需要了解 NextDay 函数的功能和输入输出要求。假设 NextDay 函数的功能是根据输入的日期返回下一天的日期,并且输入日期的格式为年月日(如2021年3月1日表示为2021-03-01),输出日期格式相同。那么,我们可以设计以下判定表:
| 序号 | 输入 | 期望输出 |
| --- | --- | --- |
| 1 | 2021-02-28 | 2021-03-01 |
| 2 | 2021-02-29 | 报错 |
| 3 | 2021-01-31 | 2021-02-01 |
| 4 | 2020-12-31 | 2021-01-01 |
| 5 | 2021-04-30 | 2021-05-01 |
其中,第二行是因为2021年没有2月29日,所以输入为2021-02-29时应该报错。其他行的期望输出根据日期的特点进行了设计。
然后,我们可以根据判定表编写对应的Junit代码进行测试。测试代码如下:
```java
import org.junit.Assert;
import org.junit.Test;
public class NextDayTest {
@Test
public void testNextDay() {
NextDay nextDay = new NextDay();
Assert.assertEquals("2021-03-01", nextDay.nextDay("2021-02-28"));
try {
nextDay.nextDay("2021-02-29");
Assert.fail();
} catch (RuntimeException e) {
Assert.assertEquals("Invalid date", e.getMessage());
}
Assert.assertEquals("2021-02-01", nextDay.nextDay("2021-01-31"));
Assert.assertEquals("2021-01-01", nextDay.nextDay("2020-12-31"));
Assert.assertEquals("2021-05-01", nextDay.nextDay("2021-04-30"));
}
}
```
其中,NextDay 是待测类,nextDay 方法接收一个字符串类型的日期,返回下一天的日期,如果输入的日期格式不符合要求,则抛出异常。
通过以上测试,我们可以验证 NextDay 函数是否符合要求,进一步确保代码的质量和稳定性。
阅读全文