软件测试 实验《基于JUnit的单元测试》
一、实验目的
能够应用Junit测试工具进行单元测试,掌握单元测试中的动态白盒测试方法,并按照单元测试的要求设计测试用例与执行单元测试。
二、实验内容
-
Junit - 环境配置。
-
熟悉Junit基本用法、编写测试、Junit断言使用、执行过程等内容。
-
利用Java语言编写的一个Web项目,针对其中的一个或多个类,选用白盒测试设计测试用例;
-
编写Junit测试代码,并进行测试;
-
(延伸扩展)编写Ant自动化测试脚本,使所有Junit测试代码自动完成测试,并生成HTML格式测试报告;测试代码覆盖率,并生成HTML格式代码覆盖测试报告。
或可参考https://www.w3cschool.cn/junit/19qf1hup.html中的JUnit的介绍。
三、实验要求
运用JUnit测试工具进行单元测试;
四、实验步骤
-
根据白盒测试方法设计测试用例;
-
根据每个测试用例,编写基本Junit的单元测试脚本;
-
(延伸扩展)通过编写Ant脚本生成HTML格式的测试报告;生成HTML格式的代码覆盖测试报告。
五、实验结果
1.提交单元测试的白盒测试用例;
序号 | itemId | itemPrice | quantity |
---|---|---|---|
1 | A01 | $5.20 | 3 |
2 | A02 | $8.88 | 8 |
2.提交所有代码和测试代码;
public class Item{
private String itemId;
private String itemPrice;
private int quantity;
public Item(String itemId, String itemPrice, int quantity){
this.itemId = itemId.trim();
this.itemPrice = itemPrice;
this.quantity = quantity;
}
// 商品的 ID 获取
public String getItemId() {
System.out.println("itemId : " + itemId);
return itemId;
}
// 商品的数量获取
public int getQuantity() {
System.out.println("quantity : " + quantity);
return quantity;
}
// 商品的价格获取
public String getItemPrice() {
System.out.println("itemPrice : " + itemPrice);
return itemPrice;
}
}
import org.junit.Test;
import static org.junit.Assert.assertEquals;
public class TestJunit {
// private String itemId = "A01";
// private String itemPrice = "$5.20";
// private int quantity = 3;
private String itemId = "A02";
private String itemPrice = "$8.88";
private int quantity = 8;
private Item item = new Item(itemId, itemPrice, quantity);
@Test
public void testGetItemId() {
assertEquals(itemId, item.getItemId());
}
@Test
public void testGetQuantity() {
assertEquals(quantity, item.getQuantity());
}
@Test
public void testGetItemPrice() {
assertEquals(itemPrice, item.getItemPrice());
}
}
import org.junit.runner.JUnitCore;
import org.junit.runner.Result;
import org.junit.runner.notification.Failure;
public class TestRunner {
public static void main(String[] args) {
Result result = JUnitCore.runClasses(TestJunit.class);
for (Failure failure : result.getFailures()) {
System.out.println(failure.toString());
}
System.out.println(result.wasSuccessful());
}
}
- (延伸扩展)提交Ant生成的HTML格式报告。
3.1 Ant生成的HTML报告结果显示,在TestUnit和TestRunner类中共四个方法,其中一个测试错误,其余三个均通过。详细说明见3.2。
3.2 Ant自动化测试的四个方法情况如下所示,其中TestUnit中的三个方法均显示成功通过,但是TestRunner中的方法显示错误,原因提示没有运行方法。分析可知TestRunner本来是用于执行TestUnit中的测试方法的,所以并没有在方法上加入@Test,从而导致报错。也就是说在进行Ant自动化测试时其实是并不需要进行该方法测试的,可以在测试前直接删除该文件。
3.3 TestUnit中的测试详情。
3.4 TestRunner中的测试详情。(该方法其实不需要测试)
转载:https://blog.csdn.net/qq_39564555/article/details/105882617