您的位置:首页 > 其它

IDEA 单元测试 导入JUnit4到项目

2017-06-06 17:37 260 查看
一、IDEA自带JUnit4的jar包,现在让我们来导入。

Step 1. IDEA最上面一栏的菜单栏中,选File->Project Structure(从上往下第11个),弹出窗口左边有一个列表,选Module。

Step 2. 右侧有一个带3个标签的窗口,选Dependencies标签

Step 3. 下面的列表框列出了项目的jar包,右侧有个绿色的'+'号,左键点击,在左键菜单里选第一个

Step 4. 在弹出的文件浏览窗口,选择"IDEA的安装目录\lib\junit-4.11.jar" 选完后别忘了点击对号和OK

测试类写好后右键测试类名,在右键菜单选 Run ‘AddOperationTest’,一切似乎就要搞定了

等等,突然报错,输出窗口里一行令人不悦的红字出现了

Java.lang.NoClassDefFoundError: org/hamcrest/SelfDescribing

这个错误的原因是,junit-4.11版本还需要一个jar包叫做hamcrest(IDEA官方帮助传送门htt把ps://ww中w.jetbrains.c文om/idea/help/去configuring-testing-libraries.h掉tml)

在上面的Step 4.中,还需要选择"IDEA的安装目录\lib\hamcrest-core-1.3.jar"

二、单元测试

import static org.junit.Assert.assertEquals;

import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;

import com.MyMath;
//单元测试
public class MyMathTest {

private static MyMath mm;

//    @Before  //每个测试方法执行前自动调用
@BeforeClass //加载类的字节码时就执行,只执行一次
public static void init(){
mm = new MyMath();
}
//    @After
@AfterClass
public static void destory(){
mm = null;
}

/*
* 测试方法:用于测试的方法
* 1、必须是pulbic的
* 2、必须没有返回值
* 3、方法参数为空
* 4、有@Test注解
*/

@Test
public void testAdd() {
//        MyMath mm = new MyMath();
int result = mm.add(1, 2);
// 断言
assertEquals(3, result);//期望值和实际运行结果进行比对。成功,绿色的bar
}

@Test
public void testDivide() {
//        MyMath mm = new MyMath();
int result = mm.divide(10, 2);
assertEquals(5, result);
}

//测试异常
@Test(expected=java.lang.ArithmeticException.class)
public void testException() {
//        MyMath mm = new MyMath();
mm.divide(10, 0);
}
//测试方法的执行效率
@Test(timeout=100)//即使期望值和实际值相同的。超出运行时间,也是失败的。time指定的值为毫秒值。
public void testEfficiency() {
//        MyMath mm = new MyMath();
int result = mm.add(1, 2);
// 断言
assertEquals(3, result);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: