现在要测试NextDay函数,分别用语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖设计测试用例,并编写对应Junit代码进行测试
时间: 2023-06-06 11:04:29 浏览: 149
好的,我会遵守您的要求进行回答。以下是各种覆盖方法的测试用例设计和对应的Junit代码:
语句覆盖:
测试用例1:输入2020年12月31日,期望输出2021年1月1日。
测试用例2:输入2021年2月28日,期望输出2021年3月1日。
测试用例3:输入2021年12月31日,期望输出2022年1月1日。
对应Junit代码:
@Test
public void testNextDay_statementCoverage1() {
String inputDate = "2020-12-31";
String outputDate = NextDay(inputDate);
assertEquals("2021-01-01", outputDate);
}
@Test
public void testNextDay_statementCoverage2() {
String inputDate = "2021-02-28";
String outputDate = NextDay(inputDate);
assertEquals("2021-03-01", outputDate);
}
@Test
public void testNextDay_statementCoverage3() {
String inputDate = "2021-12-31";
String outputDate = NextDay(inputDate);
assertEquals("2022-01-01", outputDate);
}
判定覆盖:
测试用例1:输入2020年2月28日,期望输出2020年2月29日。
测试用例2:输入2030年2月28日,期望输出2030年3月1日。
测试用例3:输入2024年12月31日,期望输出2025年1月1日。
对应Junit代码:
@Test
public void testNextDay_decisionCoverage1() {
String inputDate = "2020-02-28";
String outputDate = NextDay(inputDate);
assertEquals("2020-02-29", outputDate);
}
@Test
public void testNextDay_decisionCoverage2() {
String inputDate = "2030-02-28";
String outputDate = NextDay(inputDate);
assertEquals("2030-03-01", outputDate);
}
@Test
public void testNextDay_decisionCoverage3() {
String inputDate = "2024-12-31";
String outputDate = NextDay(inputDate);
assertEquals("2025-01-01", outputDate);
}
条件覆盖:
测试用例1:输入1900年2月28日,期望输出错误提示。
测试用例2:输入2000年2月29日,期望输出2000年3月1日。
测试用例3:输入2019年4月30日,期望输出2019年5月1日。
对应Junit代码:
@Test(expected = IllegalArgumentException.class)
public void testNextDay_conditionCoverage1() {
String inputDate = "1900-02-28";
NextDay(inputDate);
}
@Test
public void testNextDay_conditionCoverage2() {
String inputDate = "2000-02-29";
String outputDate = NextDay(inputDate);
assertEquals("2000-03-01", outputDate);
}
@Test
public void testNextDay_conditionCoverage3() {
String inputDate = "2019-04-30";
String outputDate = NextDay(inputDate);
assertEquals("2019-05-01", outputDate);
}
判定条件覆盖:
测试用例1:输入2000年2月28日,期望输出2000年2月29日。
测试用例2:输入2000年2月29日,期望输出错误提示。
测试用例3:输入2001年2月28日,期望输出2001年3月1日。
对应Junit代码:
@Test
public void testNextDay_decisionConditionCoverage1() {
String inputDate = "2000-02-28";
String outputDate = NextDay(inputDate);
assertEquals("2000-02-29", outputDate);
}
@Test(expected = IllegalArgumentException.class)
public void testNextDay_decisionConditionCoverage2() {
String inputDate = "2000-02-29";
NextDay(inputDate);
}
@Test
public void testNextDay_decisionConditionCoverage3() {
String inputDate = "2001-02-28";
String outputDate = NextDay(inputDate);
assertEquals("2001-03-01", outputDate);
}
条件组合覆盖:
测试用例1:输入2000年2月28日,期望输出2000年2月29日。
测试用例2:输入2000年2月29日,期望输出错误提示。
测试用例3:输入2001年2月28日,期望输出2001年3月1日。
测试用例4:输入1900年2月28日,期望输出错误提示。
对应Junit代码:
@Test
public void testNextDay_conditionCombinationCoverage1() {
String inputDate = "2000-02-28";
String outputDate = NextDay(inputDate);
assertEquals("2000-02-29", outputDate);
}
@Test(expected = IllegalArgumentException.class)
public void testNextDay_conditionCombinationCoverage2() {
String inputDate = "2000-02-29";
NextDay(inputDate);
}
@Test
public void testNextDay_conditionCombinationCoverage3() {
String inputDate = "2001-02-28";
String outputDate = NextDay(inputDate);
assertEquals("2001-03-01", outputDate);
}
@Test(expected = IllegalArgumentException.class)
public void testNextDay_conditionCombinationCoverage4() {
String inputDate = "1900-02-28";
NextDay(inputDate);
}
阅读全文