IDEA 单元测试 导入JUnit4到项目
一、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);
}
}
IDEA 单元测试 导入JUnit4到项目的更多相关文章
- Android笔记——导入Github开源项目CircleRefreshLayout
百度n久都找不到android studio导入第三方类库的正确方法,纠结睡不着 ,最后终于蒙到了方法,原来想太多了 ---------------------------------------- ...
- eclipse导入maven web 项目 但是不显示成web 项目
http://blog.csdn.net/jun55xiu/article/details/9028403 1:导入Maven webapp项目(以extdirectspring-demo为例): i ...
- RN 导入原有Xcode项目中,引入Pod依赖出现的问题与解决
RN 导入原有Xcode项目中,引入Pod依赖出现的问题与解决 前言 最近学习React Native技术.将RN引入到原来Xcode项目中有一步:给原来Xcode项目添加所需要的Pod依赖 写好Po ...
- React Native 导入原生Xcode项目总结与记录
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,bi ...
- Android 导入引用第三方项目
环境:Android Studio 1.4 1 以源工程形式导入 第一步,导入项目 File--New--Import Module--->设置导入后的项目名称 第二部,在自己工程中添加Depe ...
- maven导入多模块项目
maven导入多模块项目 一.SVN上Maven多模块项目结构 使用eclipse导入SVN上的Maven多模块项目 Maven多模块项目所在SVN目录 二.eclipse通过SVN导入到工作空间 ...
- idea导入本地maven项目
首先把项目关闭File->Close Project 否则会将项目导入到当前项目中 回到主界面,点击Import Project 一定要选择项目的pom文件 默认设置,继续往下走 默认配置,下一 ...
- Eclipse导入别人的项目报错:Unable to load annotation processor factory 'xxxxx.jar' for project
使用eclipse导入别人的项目时候,报错Unable to load annotation processor factory 'xxxxx.jar' for project. 解决方案 1.项目右 ...
- Eclipse 如何导入MyEclipse的项目
Eclipse 如何导入MyEclipse的项目 CreateTime--2018年3月8日09:53:55 Author:Marydon 1.Eclipse导入MyEclipse的项目方法,跟导 ...
随机推荐
- (笔记)Mysql命令alter add:增加表的字段
alter add命令用来增加表的字段. alter add命令格式:alter table 表名 add字段 类型 其他; 例如,在表MyClass中添加了一个字段passtest,类型为int(4 ...
- Spring JDBC查询数据
以下示例将展示如何使用Spring jdbc进行查询数据记录,将从student表中查询记录. 语法: String selectQuery = "select * from student ...
- (转)WAVE PCM 声音文件格式
WAVE文件格式是Microsoft为存储多媒体的RIFF规范的一部分.一个RIFF文件以一个文件头开始,然后是一系列的数据块.一个WAVE文件常常仅由一个WAVE块构成,WAVE块包含一个说明格式的 ...
- NPOIHelp 按固定模板导出和直接导出
完整代码如下 using System; using System.Collections.Generic; using System.Data; using System.Text; using N ...
- linq join 左连接 leftjoin 多个on条件 where 条件
var haveChange = from newScore in newScoreList join oldScore in oldScoreList on new{newScore.ExamId, ...
- Erlang Trace机制
从FTP模块学习先进的诊断技术(Erlang Trace机制) http://blog.yufeng.info/archives/466
- miRbase 数据库简介
miRbase 是miRNA 的数据库,目前最新版本为 release 21, 共有28645 条 miRNA, 第22 版已经完成,即将发布,22版新增了10000 个miRNA, 大多来源于新的 ...
- PHP 开发者该知道的 5 个 Composer 小技巧
From: https://segmentfault.com/a/1190000000355928 Composer是新一代的PHP依赖管理工具.其介绍和基本用法可以看这篇<Composer P ...
- array_multisort—对多个数组或多维数组进行排序
From: http://www.cnblogs.com/lwbqqyumidi/archive/2013/01/31/2887188.html PHP中array_multisort可以用来一次对多 ...
- Nginx + Tomcat 反向代理 如何在高效的在一台服务器部署多个站点
上一篇分享了 Nginx + Tomcat 反向代理 负载均衡 集群 部署指南,感觉还是相当实用型的,但是一般集群部署是基于大访问量的,可能有的企业用不到,类似一些企业官网,访问量并不是很大,基于这个 ...