Java 自动化测试框架
什么是自动化测试框架?其实就是对于普通的测试进行一个封装,封装之后的成品,支持自动化测试的功能,它的优点自然有很多:
- 提高测试的效率
- 提高复用性,减少重复工作
- 覆盖面更广
- 不需要太多的人工干预
Junit
Junit 是什么
JUnit 是一个用于 Java 编程语言的单元测试框架。它在测试驱动的开发中发挥着至关重要的作用,是一个单元测试框架家族,统称为 xUnit。
JUnit 提倡“先测试后编码”的思想,强调为一段可以先测试然后实现的代码设置测试数据。这种方法就像“测试一点,代码一点,测试一点、代码一点”。它提高了程序员的生产力和程序代码的稳定性,从而减少了程序员的压力和调试时间。
Java 使用 Junit 自动化测试
Java 使用 Junit 必须符合以下几点编写原则:
- 必须吧 @Test 写在测试函数之前
- 使用 public void 修饰测试函数
- 测试代码和业务代码要进行分开
- 测试类和被测试类的包名应该一致
- 各个测试函数之间不能有互相依赖
编写代码
public class Calculator {
/**
* @param a
* @param b
* @return
*/
public int add(int a,int b){
return a+b;
}
/**
* @param a
* @param b
* @return
*/
public int sub(int a,int b){
return a-b;
}
}
编写测试类
public class CalculatorTest {
@Test
public void testAdd(){
Calculator c = new Calculator();
int result = c.add(1, 2);
Assert.assertEquals(result, 3);
}
@Test
public void testSub(){
Calculator c = new Calculator();
int result = c.sub(2, 1);
Assert.assertEquals(result, 1);
}
}
运行 Junit
最终我们需要手动运行一下,选择 Run as -> JUnit Test
结果:出现绿条则成功,红条测失败。
Junit 注解
- @Test: 测试方法
- @Ignore: 忽略测试的方法
- @Before: 在测试方法之前运行
- @After: 在测试方法之后运行
- @BeforeClass: 在测试方法之前运行,必须使静态方法
- @AfterClass: 在测试方法之后运行,必须使静态方法
使用 Apifox 测试 Java 接口
上面讲的是使用 Junit 测试 Java 写的一些函数方法,那如果是 Java 写的一些 API,应该怎么去测呢?
涉及到 API 的测试,我推荐是 Apifox ,它是集测试、文档、mock 于一身的超级好用的 API 调试工具。
比如我已经使用 Java 写了一个简单的接口:
/api/test/java
我们来使用 Apifox 测试一下吧~
创建请求
我们需要创建一个 API 请求,用来对我们刚刚写的那个 API 进行请求,填入:
- 请求路径
- 请求方法
- 请求名
设置断言
接着我们点开后置脚本这一项,然后选择自定义脚本,Apifox 为我们提供了可视化的脚本选项。
我们点击右边的 Apifox 为我们提供的现成的脚本命令,我们预期是返回的 code 是 200。
设置完断言脚本,点击 保存 按钮。
运行调试
到运行页,点击 发送,可以看到响应结果,以及断言成功通过的提示。
关于Apifox
欢迎体验一下,完全免费的哦:在线使用 Apifox。
Apifox 是一体化 API 协作平台,可以实现 API 文档、API 调试、API Mock、 API 自动化测试,是更先进的 API 设计/开发/测试工具。
Apifox 提供了一种全面的 API 管理解决方案。使用 Apifox ,你可以在统一的平台上设计、调试、测试以及协作你的 API,消除了在不同工具之间切换和数据不一致的问题
个人使用体验还是不错的,推荐使用~
知识扩展: