在IDEA中使用JUnit4和JUnitGenerator V2.0自动生成测试模块

2 篇文章 0 订阅

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

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));
     }
 
 }

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值