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

   由于项目的须要,因此研究了一下自动生成测试代码。将经验记录下来,总会有用的。我我的认为,好记性不如多作笔记多反思总结。数据库

1.    前提条件

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

     

 

2.    IDEA中JUnit配置

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

 

  JUnitGenerator V2.0插件,能够帮助咱们自动生成测试代码。若是搜索junit没有JUnitGenerator V2.0时,以下图操做(下载添加):ide

 

 

 

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

 

 

  如今能够经过右键菜单在这个类上运行'***测试类名**'来进行测试,或经过Run → Edit Configurations来进行。单元测试

 

 

3.    JUnit经常使用断言及注解

 

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

断言核心方法this

注解spa

 

 

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

    @BeforeClass –> @Before –> @Test –> @After –> @AfterClasscode

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

    @Before –> @Test –> @After

 

  代码示例:

 1 public class JunitFlowTest {  2     /* *  3  *1. @BeforeClass修饰的方法会在全部方法被调用前被执行,  4  * 并且该方法是静态的,因此当测试类被加载后接着就会运行它,  5  * 并且在内存中它只会存在一份实例,它比较适合加载配置文件。  6  * 2. @AfterClass所修饰的方法一般用来对资源的清理,如关闭数据库的链接  7  * 3. @Before和@After会在每一个测试方法的先后各执行一次。  8  * */ 
 9  @BeforeClass 10     public static void setUpBeforeClass() throws Exception { 11         System.out.println("this is beforeClass..."); 12  } 13  @AfterClass 14     public static void tearDownAfterClass() throws Exception { 15         System.out.println("this is afterClass..."); 16  } 17  @Before 18     public void setUp() throws Exception { 19         System.out.println("this is before..."); 20  } 21     
22     /**
23  * 即便在@Before注解方法、@Test注解方法中抛出了异常, 24 * 全部的@After注解方法依然会被执行 25     */
26  @After 27     public void tearDown() throws Exception { 28         System.out.println("this is after"); 29  } 30     
31     /* * 32  * 33  * 1. Failure通常由单元测试使用的断言方法判断失败所引发的, 34 * 这经表示测试点发现了问题 35  * ,就是说程序输出的结果和咱们预期的不同。 36  * 2. error是由代码异常引发的,它能够产生于测试代码自己的错误, 37 * 也能够是被测试代码中的 38  * 一个隐藏的bug 39  * 3.测试用例不是用来证实你是对的,而是用来证实你没有错。 40     */ 
41  @Test 42     public void testAdd() { 43         assertEquals(5, new Calculate().add(3,3)); 44  } 45  @Test 46     public void testDivide() { 47         assertEquals(3, new Calculate().divide(6, 0)); 48  } 49 
50 }

 

<!-- Start -->

获知及时信息,请关注个人我的微信订阅号:0与1的那点事

 

<!-- End -->

 

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

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

感谢您的阅读。

相关文章
相关标签/搜索