Build文件
build.gradle
如下:
1 | apply plugin: 'java' |
上述配置指定仓库后,不需要额外再安装Junit4了。
Java文件
Calculator.java
:
1 | package com.shizhihua.example; |
测试文件
CalculatorTest.java
:
- 测试文件和类是在被测类名后添加
Test
@Test
表示需要运行的测试函数
1 | package com.shizhihua.example; |
项目结构
为了Gradle,项目结构需要按照下面约定。注意被测的源java文件和测试例的java文件目录相对应:
src/main/java
目录包含项目源代码src/main/resources
目录包含项目的资源src/test/java
目录包含项目测试类src/test/resource
目录包含项目测试资源
执行测试:
1 | gradle test |
运行上述命令后,整个项目的目录结构如下:
打开上述index.html
可以看到测试结果的统计报告。
设置多进程
当项目中的测试例过多,需要通过并行的方法来加快运行速度。但是,如果每个unit test都需要自己独立的JVM,则系统overhead消耗大。Gradle采用了一种这种方法:设定maxParallelForks
,限定最大的并发JVMs。
如果一个JVM不断运行unit test,可能会引起性能问题(e.g.,leak
)。Gradle设定forkEvery
,使得一个test-running JVM运行完设定的test数目后会结束,并启动一个新的test-running JVM来替代。
1 | apply plugin: 'java' |