java - 使用 gradle 自定义 JUnit 测试检测

标签 java junit gradle

我们的测试套件正在快速增长,我们已经达到了更多功能测试依赖于其他系统的地步。

我们使用 gradle 测试任务通过包含和排除过滤器运行这些测试,但这变得很麻烦,因为我们必须以特定方式命名我们的测试。

我们目前的做法是按以下方式命名我们的测试:

class AppleSingleServiceTest {}
class BananaMultiServiceTest {}
class KiwiIntegrationTest {}

然后使用

在相关任务中包含测试
include '**/*SingleServiceTest.class'
include '**/*MultiServiceTest.class'
include '**/*IntegrationTest.class'

是否可以通过查看注解在gradle中找到测试类?

@SingleServiceTest
public class AppleTest {}

我认为任何未注释的测试都将作为正常的单元测试运行,因此如果您忘记注释功能性更强的测试,它将失败

单个服务测试的一个示例是 selenium 测试,其中 SUT 的任何外部依赖项都被 stub

多服务测试的一个例子是一些但可能不是所有的外部依赖没有被 stub

最佳答案

截至Gradle 1.6 , Gradle 支持使用 JUnit @Category 选择测试,像这样:

test {
    useJUnit {
        includeCategories 'org.gradle.junit.CategoryA'
        excludeCategories 'org.gradle.junit.CategoryB'
    }
}

更多详细信息可以在the docs中找到.

关于java - 使用 gradle 自定义 JUnit 测试检测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13645500/

相关文章:

java - Hamcrest:不清楚的异常消息?

java - mockito test void 方法,重写成员变量

gradle - 覆盖 DockerStartContainer 上的环境变量

java - android.view.InflateException : Binary XML file line #27: android. support.design.widget.TextInputEditText 无法转换为 android.view.ViewGroup

java - $set 和位置运算符在 Java 中不起作用?

java - Servlet 发送请求后未正确响应

unit-testing - Scala 中的参数化单元测试(使用 JUnit4)

gradle - 使用正则表达式语法在gradle中排除依赖项jar

java - 将离线 gradle 安装到 Android studio 后出现 "Gradle sync failed"错误?

java - 如何打包和链接 OpenCV 二进制文件和适用于 Android Studio 的 OpenCV Java SDK?