一、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到项目的更多相关文章

  1. Android笔记——导入Github开源项目CircleRefreshLayout

    百度n久都找不到android studio导入第三方类库的正确方法,纠结睡不着 ,最后终于蒙到了方法,原来想太多了  ---------------------------------------- ...

  2. eclipse导入maven web 项目 但是不显示成web 项目

    http://blog.csdn.net/jun55xiu/article/details/9028403 1:导入Maven webapp项目(以extdirectspring-demo为例): i ...

  3. RN 导入原有Xcode项目中,引入Pod依赖出现的问题与解决

    RN 导入原有Xcode项目中,引入Pod依赖出现的问题与解决 前言 最近学习React Native技术.将RN引入到原来Xcode项目中有一步:给原来Xcode项目添加所需要的Pod依赖 写好Po ...

  4. React Native 导入原生Xcode项目总结与记录

    html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,bi ...

  5. Android 导入引用第三方项目

    环境:Android Studio 1.4 1 以源工程形式导入 第一步,导入项目 File--New--Import Module--->设置导入后的项目名称 第二部,在自己工程中添加Depe ...

  6. maven导入多模块项目

    maven导入多模块项目   一.SVN上Maven多模块项目结构 使用eclipse导入SVN上的Maven多模块项目 Maven多模块项目所在SVN目录 二.eclipse通过SVN导入到工作空间 ...

  7. idea导入本地maven项目

    首先把项目关闭File->Close Project 否则会将项目导入到当前项目中 回到主界面,点击Import Project 一定要选择项目的pom文件 默认设置,继续往下走 默认配置,下一 ...

  8. Eclipse导入别人的项目报错:Unable to load annotation processor factory 'xxxxx.jar' for project

    使用eclipse导入别人的项目时候,报错Unable to load annotation processor factory 'xxxxx.jar' for project. 解决方案 1.项目右 ...

  9. Eclipse 如何导入MyEclipse的项目

      Eclipse 如何导入MyEclipse的项目 CreateTime--2018年3月8日09:53:55 Author:Marydon 1.Eclipse导入MyEclipse的项目方法,跟导 ...

随机推荐

  1. C++复合类型(结构体)

    其实c++的结构体可以理解为类似于python的字典,我个人理解, 但有区别 先看结构 #include <iostream> 关键字 标记成为新类型的名称 struct inflatab ...

  2. Docker for Mac 安装及Mysql安装使用

    启动 mysql 镜像 docker run -d -p 127.0.0.1:3306:3306 –name mysql -v /Users/flyrPc/docker/mysql/data:/var ...

  3. C# js 在页面能执行,放在单独js文件不能执行

    我们先来看看MVC中生成的 注意:url.Content 生成的路径 Html.ActionLink 与 Url.Action 1.两者者是根据给定的Controller,Action 生成链接, 但 ...

  4. Java反射 Introspector

    一.解释 Introspector  内省,自我检查. 位于java中的java.beans包中,其原文说明文为: The Introspector class provides a standard ...

  5. php 多页面间共享变量

    1. 保存session的页面session1.php <? echo "hi, let's try session<br/>"; session_start() ...

  6. Caffe 学习:Eltwise层

    Eltwise层的操作有三个: 1. PROD(product):按元素乘积 2. SUM:按元素求和(默认操作) 3. MAX:保存元素大者

  7. 安卓开发笔记——关于Handler的一些总结(上)

    接上篇文章<安卓开发笔记——关于AsyncTask的使用>,今天来讲下在安卓开发里"重中之重"的另一个异步操作类Handler. 今天打算先讲下关于Handler的一些 ...

  8. selenium 如何处理table

    qi_ling2005  http://jarvi.iteye.com/blog/1477837 andyguo  http://blog.csdn.net/gzh0222/article/detai ...

  9. DB索引、索引覆盖、索引优化

    ###########索引########### @see   http://mp.weixin.qq.com/s/4W4iVOZHdMglk0F_Ikao7A 聚集索引(clustered inde ...

  10. 05-Vim命令合集

    Vim命令合集 命令历史 以:和/开头的命令都有历史纪录,可以首先键入:或/然后按上下箭头来选择某个历史命令. 启动vim 在命令行窗口中输入以下命令即可 vim 直接启动vim vim filena ...