IDEA 单元测试 导入JUnit4到项目

摘要:
步骤1.在IDEA顶部列的菜单栏中,选择文件-˃项目结构。弹出窗口左侧有一个列表,然后选择Module。成功,绿色条}@Testpublicvoid testDivide(){//MyMathmm=newMyMath();intresult=mm.divit;assertEquals;}//测试异常@TestpublicvoidtestException(){//MyMathmm=newMyMath();mm.partition;}//测试方法@Test//的执行效率,即使预期值与实际值相同。如果超过运行时间,它也会失败。时间指定的值为毫秒。

一、IDEA自带JUnit4的jar包,现在让我们来导入。

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

IDEA 单元测试 导入JUnit4到项目第1张

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

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

IDEA 单元测试 导入JUnit4到项目第2张

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

IDEA 单元测试 导入JUnit4到项目第3张

测试类写好后右键测试类名,在右键菜单选 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的安装目录libhamcrest-core-1.3.jar"

二、单元测试

import staticorg.junit.Assert.assertEquals;
importorg.junit.AfterClass;
importorg.junit.BeforeClass;
importorg.junit.Test;
importcom.MyMath;
//单元测试
public classMyMathTest {
    private staticMyMath mm;
//@Before  //每个测试方法执行前自动调用
    @BeforeClass //加载类的字节码时就执行,只执行一次
    public static voidinit(){
        mm = newMyMath();
    }
//@After
@AfterClass
    public static voiddestory(){
        mm = null;
    }
    /*
     * 测试方法:用于测试的方法
     * 1、必须是pulbic的
     * 2、必须没有返回值
     * 3、方法参数为空
     * 4、有@Test注解
     */
    @Test
    public voidtestAdd() {
//MyMath mm = new MyMath();
        int result = mm.add(1, 2);
        //断言
        assertEquals(3, result);//期望值和实际运行结果进行比对。成功,绿色的bar
}
    @Test
    public voidtestDivide() {
//MyMath mm = new MyMath();
        int result = mm.divide(10, 2);
        assertEquals(5, result);
    }
    //测试异常
    @Test(expected=java.lang.ArithmeticException.class)
    public voidtestException() {
//MyMath mm = new MyMath();
        mm.divide(10, 0);
    }
    //测试方法的执行效率
    @Test(timeout=100)//即使期望值和实际值相同的。超出运行时间,也是失败的。time指定的值为毫秒值。
    public voidtestEfficiency() {
//MyMath mm = new MyMath();
        int result = mm.add(1, 2);
        //断言
        assertEquals(3, result);
    }
}

免责声明:文章转载自《IDEA 单元测试 导入JUnit4到项目》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇使用Android Studio时so文件打包不到APK中10 : mysql 主从复制下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

idea开启springboot热部署,修改文件即时生效

  在开发中如何使idea在不重启项目时,修改文件后能够即时编译更新,是一个关键问题。 step01:加入devtool依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-...

IDEA 中.properties文件中文自动转Unicode编码及乱码问题

问题描述: 在使用IDEA开发工具编辑属性文件(.properties)的时候出现中文自动转成了Unicode编码,或在读取属性文件的时候中文出现乱码。 问题解决: 进入 File -> Settings -> Editor -> File Encodings,勾选 Transparent native-to-ascii convers...

IDEA 从Windows 过渡到Mac 必备快捷键对照

Mac 键盘符号说明 ⌘ == Command ⇧ == Shift ⇪ == Caps Lock ⌥ == Option ⌃ == Control ↩ == Return/Enter ⌫ == Delete ⌦ == 向前删除键(Fn+Delete) ↑ == 上箭头 ↓ == 下箭头 ← == 左箭头 → == 右箭头 ⇞ == Page Up(Fn...

事务使用心得-事务隔离级别-DB2数据(一)

org.springframework.dao.DeadlockLoserDataAccessException: ### Error updating database.  Cause: com.ibm.db2.jcc.am.SqlTransactionRollbackException: DB2 SQL Error: SQLCODE=-911, SQ...

安卓自动化单元测试——登录模块测试

安卓自动化测试 参考资料:Android自动化测试-从入门到入门 构建之法上说单元测试要集成到自动化框架中,要和产品代码一起保存和维护,不是很明白自动化框架是什么。 1.测试准备 build.gradle配置 android { defaultConfig { testInstrumentationRunner "and...

Android中的单元测试

随着Agile的普及,以及开发人员对测试重要性的认识逐步加深,单元测试已经成了越来越多软件项目开发中不可缺少的一部分。无论项目是不是采用TDD的形式来进行开发,单元测试都能够为项目的修改和重构提供一定的保障。 Android作为主要的移动平台之一,吸引了无数的开发人员。但面对Android平台和环境的种种限制,很多开发人员往往有心无力,很难为其项目添加...