Java单元测试Junit萌新篇

本文主讲如何在IntelliJ IDEA上如何配置单元测试Junit4以及如何使用。

步骤:
1.下载jar包
2. 项目软件配置
3. 使用实例

一、下载jar包:

  1. https://github.com/junit-team/junit4/wiki/Download-and-Install
    在这里插入图片描述

  2. 可以根据需要选择对应版本

在这里插入图片描述

在这里插入图片描述
3.选择jar包进行下载
其他文件可根据需要自行选择下载。
另外,建议大家在选择junit文件版本时,选择4.10版本或者低版本。因为选择较高版本4.11以上版本不在包含hamcrest。
如果选择较高版本会造成没有hamcrest,造成需要手动导入。junit.jar + hamcrest-core.jar + hamcrest-library.jar或者是:junit-dep.ajr+hancrest-all.jar。但在使用中会有些方法同时出现在了org.hamcrest.Mathchers和org.hamcrest.core中,则在用到时候引入的时候需要注意。

二、项目软件配置

在本地ItelliJ IDEA上创建一个项目。在导航栏选择File->Project Structure->Modules选择’+’
在这里插入图片描述
在这里插入图片描述
找到自己下载的Junit和hamcrest的jar文件,都添加并应用到项目就OK啦。
在这里插入图片描述
之后在这个库目下可以看到添加成功。
在这里插入图片描述

三、使用实例

因为有些已经创建了,所以不用在意图片背景不同

  1. 自己创建Java类,定义方法。
    在这里插入图片描述

  2. 新建test文件夹,并将文件夹改为测试根目录。
    在这里插入图片描述

  3. 在自己目标方法类内ctrl+shift+T,快捷键呼出新建测试方法
    在这里插入图片描述

  4. 完善测试方法,运行测试类。如实是预期结果,右下角会显示各个方法是绿色。
    图中assertEquals只是一种判断方法,可自行查阅文档查看其它方法。
    在这里插入图片描述

四、测试使用相关

  1. 各种测试中常用的注解
    @Test:把该方法标记为测试方法
    @Before:该方法在每个测试方法执行前都执行一次
    @After:该方法在每个测试方法执行后都执行一次
    @BeforeClass:在所有测试方法执行前执行一次,在测试类还没有实例化就已经被加载,所以用static修饰
    @AfterClass:在所有测试方法执行后执行一次,在测试类还没有实例化就已经被加载,所以用static修饰
    @Ignore:该方法将被忽略不执行
  2. Junit是单元测试,所以每个测试方法都是一个单独的实例进行测试,各个方法互不影响。
    在测试类中,我定义全局变量volatile int i=0;且在每个测个方法都对 i 进行了+1操作,从结果看出 i 并没有变成3。在这里插入图片描述
  3. 编写测试类的原则: 
    ①测试方法上必须使用@Test进行修饰①测试方法上必须使用@Test进行修饰
    ②测试方法必须使用public void 进行修饰,不能带任何的参数
    ③新建一个源代码目录来存放我们的测试代码,即将测试代码和项目业务代码分开
    ④测试类所在的包名应该和被测试类所在的包名保持一致
    ⑤测试单元中的每个方法必须可以独立测试,测试方法间不能有任何的依赖
    ⑥测试类使用Test作为类名的后缀(不是必须)
    ⑦测试方法使用test作为方法名的前缀(不是必须)
  4. @Test的属性
    ①测试异常在这里插入图片描述
    在测试方法中,我输入一个非法参数,在主方法会抛异常,但此时因为加入(expected = IllegalArgumentException.class),表示就是来判断是否得到异常的测试,因此通过测试。
    ②超时测试在这里插入图片描述
    在主方法内我sleep了3000ms,测试方法内允许2000ms的超时,所以此处这个方法没有通过测试用例。
    且从异常看出,sleep被中断了。因此当超出timeout时间后,测试方法中断了主方法的sleep。

最后,关于Java其他测试知识需要大家去自己拓展了,本文就到这里了。

如有错误之处还望指正;

如果疑问,欢迎提问。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章