这是一个关于如何在gradle build中运行单个测试案例执行的简短教程
- 单模块项目
- 多模块项目
有些时候,为了调试测试用例的执行,我们需要多次运行单个测试用例,从而帮助开发人员调试和多次运行,不浪费时间。测试用例可以是单元或集成或功能测试。
如何在gradle项目中运行单个测试用例?
假设你有测试EmployeeTest java类,位于com.cloudhadoop.emp 包中。它包含两个测试方法testEmployeeName 和testEmployeeSalary ,并且没有写测试实现,显示给你看。
package com.cloudhadoop.emp;
class EmployeeTest{
private void testEmployeeName(){
//some code
}
private void testEmployeeSalary(){
//some code
}
}
所以你想在上述类中执行单个测试案例-testEmployeeName。
你可以使用下面的命令和--test 选项
下面是一个语法
./gradlew taskname --test classname
下面是一个测试任务名的例子
gradle test --test "com.cloudhadoop.emp.EmployeeTest.testEmployeeName"
这只执行了一个测试用例。
我们可以为-test选项应用不同的字符串
- 来自一个给定类别的所有测试用例,即
com.cloudhadoop.emp.EmployeeTest - 一个页面的所有类别的所有测试用例
com.cloudhadoop.emp - 正则表达式 -
com.cloudhadoop.emp.*Test*
你可以用任何现有的任务名称替换taskname=test。
如何在多模块gradle项目中运行一个测试用例?
你有一个这样的多模块项目
parent
|-----module1
|-----module2
|-----build.gradle
在父项目中,如果你用-x运行gradle,它不会做任何事情
如何在多模块项目中运行单个测试用例?
gradle :module1:test --test "com.cloudhadoop.emp.EmployeeTest.testEmployeeName"
--test 如果你的构建有不同的风格,命令行中的选项将不起作用,并在终端抛出以下异常。
未知的命令行选项"-tests"。
解决方案是把你的任务名从test 改为'yourtaskname'。
如何在Android应用程序中运行单个测试案例
在Android应用程序中,有时我们想用命令行运行一个单元测试用例的执行。
gradle app:testDebug --tests=com.cloudhadoop.emp.EmployeeTest
总结
你学会了如何在gradle项目中执行单个单元测试用例。
在命令行中,你需要指定任务名和-test选项以及测试用例包的路径。