Junit 单元测试在 intelliJ IDEA 中的应用
2016-06-22 17:59
405 查看
intelliJ IDEA 是大部分人公认最好用的 IDE,但是myeclipse毕竟做霸主做了那么多年了,网上能找到的比较系统的教程基本都是myeclipse的,所以这里写一篇intelliJ IDEA进行单元测试的详细图文教程。
intelliJ IDEA 内部已经集成了 Junit 包,所以不需要自己另外下载。
我们都知道,main 方法是一个程序的入口,通常来说,没有main方法,程序就无法运行。我们经常会写一些class文件(如下图所示),他们并没有自己的main方法。那么我们如何检测这些class写的对不对?难道每次测试一个class都要自己写一个main方法?这样显然代价太大。Junit单元测试给我们提供了这样的便捷,可以直接对没有main方法的class进行测试。
打开设置(ctrl+alt+s),找到plugins
在plugins的搜索框中输入 Junit Generator V2.0, 点击安装
回到我们之前写的那个class文件,alt+insert,选择Junit 4
此时就会在src文件中自动产生一个测试类package(下图中的test.UnitExample),并自动生成测试class文件(下图中的PersonTest)
对于测试class中@Test是红色,无法编译的现象,很可能是没有把Junit4导入到工作路径中。不要紧,就一直alt+enter,按照提示的解决就行了,真的是神器。在每个待测试方法中写入相应的代码。最后,测试class可以编译
5 ctrl+shift+F10运行,出现绿条以及符合预期的结果,表明单元测试成功,原class符合要求。另外,在下图的左下方,也可以选择测试class里面某个具体的测试方法,然后同样ctrl+shift+F10运行,道理和前面一样
intelliJ IDEA 内部已经集成了 Junit 包,所以不需要自己另外下载。
1 为什么使用Junit
这里不说过于晦涩难懂的原因,只从我们使用感受的角度来讲。我们都知道,main 方法是一个程序的入口,通常来说,没有main方法,程序就无法运行。我们经常会写一些class文件(如下图所示),他们并没有自己的main方法。那么我们如何检测这些class写的对不对?难道每次测试一个class都要自己写一个main方法?这样显然代价太大。Junit单元测试给我们提供了这样的便捷,可以直接对没有main方法的class进行测试。
2 Junit在 intelliJ IDEA 中的使用
每次都自己写Junit的测试代码太过繁琐,intelliJ IDEA 中提供了一个非常便捷的插件: Junit Generator,可以自动生成Junit测试代码。具体安装方法是:打开设置(ctrl+alt+s),找到plugins
在plugins的搜索框中输入 Junit Generator V2.0, 点击安装
回到我们之前写的那个class文件,alt+insert,选择Junit 4
此时就会在src文件中自动产生一个测试类package(下图中的test.UnitExample),并自动生成测试class文件(下图中的PersonTest)
对于测试class中@Test是红色,无法编译的现象,很可能是没有把Junit4导入到工作路径中。不要紧,就一直alt+enter,按照提示的解决就行了,真的是神器。在每个待测试方法中写入相应的代码。最后,测试class可以编译
package test.UnitExample; import UnitExample.Person; import org.junit.Test; import org.junit.Before; import org.junit.After; /** * Person Tester. * * @author <Authors name> * @since <pre>���� 22, 2016</pre> * @version 1.0 */ public class PersonTest { @Before public void before() throws Exception { System.out.println("before"); } @After public void after() throws Exception { System.out.println("after"); } /** * * Method: watch() * */ @Test public void testWatch() throws Exception { Person person = new Person(); person.watch(); } /** * * Method: setName(String name) * */ @Test public void testSetName() throws Exception { Person person = new Person(); person.setName("emma"); } /** * * Method: getName() * */ @Test public void testGetName() throws Exception { Person person = new Person(); person.setName("emma"); System.out.println(person.getName()); } }
5 ctrl+shift+F10运行,出现绿条以及符合预期的结果,表明单元测试成功,原class符合要求。另外,在下图的左下方,也可以选择测试class里面某个具体的测试方法,然后同样ctrl+shift+F10运行,道理和前面一样
相关文章推荐
- 安卓中不同Activity之间的传值问题用Intent
- Android开发中遇到的坑
- JDBC连接数据库的几个步骤
- 求出二维数组中m*n的鞍点
- git rebase和merge 区别和应用场景
- 索引慢查询
- 梦断代码阅读笔记01
- Android 多渠道打包
- Android 进程常驻(1)----开篇
- spring 监听器 IntrospectorCleanupListener简介
- Android 进程常驻(0)----MarsDaemon使用说明
- ansible的安装与使用
- bug:clang: error: no input files
- 设计模式简介
- 关于在Reshaper中添加代码模板代码段
- RHEL7 RAID10+LVM 延续了一下前面的实验同时添加了LVM的内容
- 项目合作遇到的问题及解决办法
- 跨平台实现zip压缩加密功能
- 制作登录窗口
- Spring的作用域以及RequestContextListener作用