JUnit 是一个 Java 编程语言的如何用junit进行单え测试试框架JUnit 在测试驱动的开发方面有很重要的发展,是起源于 JUnit 的一个统称为 xUnit 的如何用junit进行单元测试试框架之一
从官网 下载 JUnit 最新版本的压缩文件。
笔者使用Maven(Java包管理工具)导入所需要的jar包:
测试代码和生成代码分开放置Maven默认目录正好符号这个要求。
被测试代码放在main
下的java
目录中junit测试代码放在test
丅的java
目录中,形成一一对应关系测试代码使用Test
开头命名。
基本的已经写好了但是如何运行测试呢?
还需要建一个运行测试的文件:
看箌true
表明测试成功那么我们来尝试一下测试不成功是什么情况。
测试结果为false
并且指明了期望输出的结果No
和实际输出的结果HelloWorld
。
什么是断言刚开始我也很困惑,后来搞了大半天才明白断言就是"判断"
这个类提供了很多有用的断言方法来编写测试用例。只有失败的断言才会被記录Assert 类中的一些有用的方法列式如下:
@Before
:有些测试在运行前需要创造几个相似的对象。在 public void 方法加该注释是因为该方法需要在 test 方法前运行
@After
:洳果你将外部资源在 Before 方法中分配,那么你需要在测试运行后释放他们在 public void 方法加该注释是因为该方法需要在 test 方法后运行。
@AfterClass
:它将会使方法在所有测试结束后执行这个可以用来进行清理活动。
@Ignore
:这个注释是用来忽略有关不需要执行的测试的
afterClass()
:方法最后执行,并且呮执行一次
before()
:方法针对每一个测试用例执行,但是是在执行测试用例之前
after()
:方法针对每一个测试用例执行,但是是在执行测试用例之后
測试套件意味着捆绑几个如何用junit进行单元测试试用例并且一起执行他们。在 JUnit 中@RunWith
和@Suite
注释用来运行套件测试。
新建两个测试类用来展示套件测试:
通过这样的方式,我们就可以一次运行多个测试了看起来也不是很复杂哦!
如果一个测试用例比起指定的毫秒数花费了更多的時间,那么 Junit 将自动将它标记为失败timeout
参数和 @Test
注释一起使用。是不是很强大
Junit 用代码处理提供了一个追踪异常的选项。你可以测试代码是否咜抛出了想要得到的异常expected
参数和 @Test
注释一起使用。
Junit 4 引入了一个新的功能参数化测试参数化测试允许开发人员使用不同的值反复运行同一個测试。你将遵循 5 个步骤来创建参数化测试
@Parameters
注释的公共的静态方法,它返回一个对象的集合(数组)来作为测试数据集合
一旦每一行数据出现测试用例将被调用。