因为项目的需要,所以研究了一下自动生成测试代码。将经验记录下来,总会有用的。我个人认为,好记性不如多做笔记多反思总结。

1.    前提条件

  • 开发环境已正确配置
  • 工程已解决JUnit依赖关系(pom.xml)
  • 我用的是4.12版本:
     <dependency>
         <groupId>junit</groupId>
         <artifactId>junit</artifactId>
         <version>4.12</version>
     </dependency>

2.    IDEA中JUnit配置

  打开Settings窗口搜索junit,如图(两个插件都勾选添加):

  JUnitGenerator V2.0插件,可以帮助我们自动生成测试代码。如果搜索junit没有JUnitGenerator V2.0时,如下图操作(下载添加):

  调用模板的方法(Alt+Insert)默认测试所有所有方法。若想要动态个性化生成,可以在所要测试的类页面上,使用该快捷操作Ctrl + Shift + T,如下图个性化设置:

  现在可以通过右键菜单在这个类上运行'***测试类名**'来进行测试,或通过Run → Edit Configurations来进行。

3.    JUnit常用断言及注解

  JUnit为我们提供了一些辅助函数,他们用来帮助我们确定被测试的方法是否按照预期的效果正常工作,通常,把这些辅助函数称为断言。

断言核心方法

注解

  一个测试类单元测试的执行顺序为:

    @BeforeClass –> @Before –> @Test –> @After –> @AfterClass

  每一个测试方法的调用顺序为:

    @Before –> @Test –> @After

  代码示例:

 public class JunitFlowTest {
     /* *
     *1. @BeforeClass修饰的方法会在所有方法被调用前被执行,
     * 而且该方法是静态的,所以当测试类被加载后接着就会运行它,
     * 而且在内存中它只会存在一份实例,它比较适合加载配置文件。
     * 2. @AfterClass所修饰的方法通常用来对资源的清理,如关闭数据库的连接
     * 3. @Before和@After会在每个测试方法的前后各执行一次。
     * */
     @BeforeClass
     public static void setUpBeforeClass() throws Exception {
         System.out.println("this is beforeClass...");
     }
     @AfterClass
     public static void tearDownAfterClass() throws Exception {
         System.out.println("this is afterClass...");
     }
     @Before
     public void setUp() throws Exception {
         System.out.println("this is before...");
     } 

     /**
     * 即使在@Before注解方法、@Test注解方法中抛出了异常,
 * 所有的@After注解方法依然会被执行
     */
     @After
     public void tearDown() throws Exception {
         System.out.println("this is after");
     } 

     /* *
     *
     * 1. Failure一般由单元测试使用的断言方法判断失败所引起的,
 *  这经表示测试点发现了问题
     * ,就是说程序输出的结果和我们预期的不一样。
     * 2. error是由代码异常引起的,它可以产生于测试代码本身的错误,
 *  也可以是被测试代码中的
     * 一个隐藏的bug
     * 3.测试用例不是用来证明你是对的,而是用来证明你没有错。
     */
     @Test
     public void testAdd() {
         assertEquals(5, new Calculate().add(3,3));
     }
     @Test
     public void testDivide() {
         assertEquals(3, new Calculate().divide(6, 0));
     }

 }

本文为博主原创文章,转载请注明出处!

http://www.cnblogs.com/libingbin/

感谢您的阅读。

怎样在IDEA中使用JUnit4和JUnitGenerator V2.0自动生成测试模块的更多相关文章

  1. Matlab中使用脚本和xml文件自动生成bus模块

    帮一个老师写的小工具 在一个大工程中需要很多bus来组织信号,而为了规范接口,需要定义很多BusObject,用Matlab语言手写这些BusObject比较费工夫 所以用xml配置文件来写,也便于更 ...

  2. [转]在Eclipse中使用JUnit4进行单元测试(中级篇)

    我们继续对初级篇中的例子进行分析.初级篇中我们使用Eclipse自动生成了一个测试框架,在这篇文章中,我们来仔细分析一下这个测试框架中的每一个细节,知其然更要知其所以然,才能更加熟练地应用JUnit4 ...

  3. [转]在Eclipse中使用JUnit4进行单元测试(初级篇)

    首先,我们来一个傻瓜式速成教程,不要问为什么,Follow Me,先来体验一下单元测试的快感! 首先新建一个项目叫JUnit_Test,我们编写一个Calculator类,这是一个能够简单实现加减乘除 ...

  4. 在Eclipse中使用JUnit4进行单元测试(中级篇)

    我们继续对初级篇中的例子进行分析.初级篇中我们使用Eclipse自动生成了一个测试框架,在这篇文章中,我们来仔细分析一下这个测试框架中的每一个细节,知其然更要知其所以然,才能更加熟练地应用JUnit4 ...

  5. 在Eclipse中使用JUnit4进行单元测试(初级篇)

    首先,我们来一个傻瓜式速成教程,不要问为什么,Follow Me,先来体验一下单元测试的快感! 首先新建一个项目叫JUnit_Test,我们编写一个Calculator类,这是一个能够简单实现加减乘除 ...

  6. 在Eclipse中使用JUnit4进行单元测试

    在Eclipse中使用JUnit4进行单元测试(初级篇) 在Eclipse中使用JUnit4进行单元测试(中级篇) 在Eclipse中使用JUnit4进行单元测试(高级篇)

  7. 【Java】在Eclipse中使用JUnit4进行单元测试(初级篇)

    本文绝大部分内容引自这篇文章: http://www.devx.com/Java/Article/31983/0/page/1 我们在编写大型程序的时候,需要写成千上万个方法或函数,这些函数的功能可能 ...

  8. 在Eclipse中使用JUnit4进行单元測试(0基础篇)

    本文绝大部分内容引自这篇文章: http://www.devx.com/Java/Article/31983/0/page/1 我们在编写大型程序的时候,须要写成千上万个方法或函数,这些函数的功能可能 ...

  9. 【转】Intellij IDEA 14中使用MyBatis-generator 自动生成MyBatis代码

    Intellij IDEA 14 作为Java IDE 神器,接触后发现,非常好用,对它爱不释手,打算离开eclipse和myeclipse,投入Intellij IDEA的怀抱. 然而在使用的过程中 ...

随机推荐

  1. 每天一个linux命令(18):locate 命令

    locate 让使用者可以很快速的搜寻档案系统内是否有指定的档案.其方法是先建立一个包括系统内所有档案名称及路径的数据库,之后当寻找时就只需查询这个数据库,而不必实际深入档案系统之中了.在一般的 di ...

  2. js获取ModelAndView值的问题

    Springmvc中使用ModelAndView传值 return new ModelAndView(url).addObject(CommonConstant.PAGE_KEY, page) .ad ...

  3. 下载Orchard源码

    下载地址:http://orchardproject.net/download

  4. HttpClient post json,可以是数组

    var json = JsonConvert.SerializeObject(obj); StringContent theContent = new StringContent(json, Enco ...

  5. 数据导入读取read.table函数详解,如何读取不规则的数据(fill=T)

    函数 read.table 是读取矩形格子状数据最为便利的方式.因为实际可能遇到的情况比较多,所以预设了一些函数.这些函数调用了 read.table 但改变了它的一些默认参数. 注意,read.ta ...

  6. DotNetBar v12.7.0.10 Fully Cracked

    更新信息: http://www.devcomponents.com/customeronly/releasenotes.asp?p=dnbwf&v=12.7.0.10 如果遇到破解问题可以与 ...

  7. href=&quot;#&quot;与javascript:void(0)的区别

    共同点:都是一个空链接. 不同点:所以,#与javascript:void(0)的区别也很明显,#方法会跳转到页面的顶部,并且在页面URL后面会出现#,而javascript:void(0)方法不会, ...

  8. jquery 整理之一

    1.选择器: jQuery 属性选择器 jQuery 使用 XPath 表达式来选择带有给定属性的元素. $("[href]") 选取所有带有 href 属性的元素. $(&quo ...

  9. dom对象详解--document对象(二)

       dom对象详解--style对象 style对象 style对象和document对象下的集合对象styleSheets有关系,styleSheets是文档中所有style对象的集合,这里讲解的 ...

  10. 利用Jmeter做接口测试

    本文作者:大道测试团队-孙云 1.在安装jmeter之前先配置好JDK,再配置jmeter环境变量. 2.启动jmeter 启动jmeter: 双击Jmeter解压路径(apache-jmeter-3 ...