在eclipse里进行Junit单元测试,并生成测试报告
- 准备工作
- 单元测试步骤
- 1.引入Junit
- 2.生成测试类
- 3.生成测试报告
准备工作
eclipse里自带Junit,不需要下载相应jar包,所以你只需要新建一个Java Project,在里面写你想要测试的java类文件就可以了。
首先,创建一个Java Project:
写一个计算器类Calculator作为要测试的类:
代码如下:
package code;
public class Calculator {
private static double result; // 静态变量,用于存储运行结果
public void add(int n){
result = result + n;
}
public void substract(int n){
result = result - n;
}
public void multiply(int n){
result = result * n;
}
public void divide(int n){
result = result / n;
}
public void remainder(int n){
result = result % n;
}
public void root(double n){
n=1/n;
result = Math.pow(result,n);
}
public void power(int n){
result = Math.pow(result, n);
}
public void square(int n){
result = n * n;
}
public void squareRoot(int n){
result = Math.sqrt(n);
}
public void clear(){ // 将结果清零
result = 0;
}
public double getResult(){
return result;
}
}
然后我们就可以来进行单元测试啦~
单元测试步骤
1.引入Junit
这里选Junit4也是可以的,然后Finish->Apply and Close,然后会发现生成了一个Junit5的Library:
2.生成测试类
鼠标右击Junit_Test4➡New➡JUnit Test Case
按下图勾选设置后点击Next:
勾选要测试的函数,然后点击Finish,就会生成一个测试类CalculatorTest:
修改测试类中的内容如下,你也可以自己进行修改,这里给出的是很基础的测试,更加复杂的测试如何实现可以参考其他资料:
package code;
import static org.junit.Assert.*;
import org.junit.Before;
import org.junit.Test;
public class CalculatorTest {
private static Calculator calculator = new Calculator();
@Before
public void setUp() throws Exception {
calculator.clear();
}
@Test
public void testAdd() {
calculator.add(2);
calculator.add(3);
assertEquals(5, calculator.getResult(),0.001);
}
@Test
public void testSubstract() {
calculator.add(10);
calculator.substract(2);
assertEquals(8, calculator.getResult(),0.001);
}
@Test
public void testMultiply() {
calculator.add(10);
calculator.multiply(2);
assertEquals(20, calculator.getResult(),0.001);
}
@Test
public void testDivide() {
calculator.add(8);
calculator.divide(2);
assertEquals(4, calculator.getResult(),0.001);
}
@Test
public void testRemainder() {
calculator.add(20);
calculator.remainder(3);
assertEquals(2, calculator.getResult(),0.0001);
}
@Test
public void testRoot() {
calculator.add(27);
calculator.root(3);
assertEquals(3, calculator.getResult(),0.0001);
}
@Test
public void testPower() {
calculator.add(2);
calculator.power(3);
assertEquals(8, calculator.getResult(),0.0001);
}
@Test
public void testSquare1(){
calculator.square(2);
assertEquals(4, calculator.getResult(),0.001);
}
@Test
public void testSquare2(){
calculator.square(0);
assertEquals(0, calculator.getResult(),0.001);
}
@Test
public void testSquare3(){
calculator.square(-3);
assertEquals(9, calculator.getResult(),0.001);
}
@Test
public void testSquareRoot() {
calculator.squareRoot(4);
assertEquals(2, calculator.getResult(),0.001);
}
}
运行这个测试类:
运行结果:
3.生成测试报告
然后会发现生成了一个build.xml文件,我们来运行一下这个文件:
运行成功!:
这里我第一次运行的时候报错了,按照网上的方法说是把jdk-lib中的tools.jar复制到jre-lib中就可以了,但是我发现我的jdk-lib中根本没有tools.jar(好像比较新的版本就是没有tools.jar的),后来我发现我的问题是出在eclipse的jdk没有设置正确,按照下面的步骤修改一下jdk就可以正常运行了。
运行成功后,我们打开自动生成的junit文件夹,找到index.html,点击就可以在浏览器中看到测试报告啦!
以上只是软件工程课程的一个作业总结,如果有不专业或者不严谨的地方欢迎大家指出!