如何在不在同一软件包中的Gradle中执行多个测试类?

问题描述 投票:0回答:3

com.baz.bar.foo

  1. com.bar.foo.baz

  2. com.foo.baz.bar

  3. 我想执行

    com.baz.bar.Foo

  4. com.bar.foo.Baz
。我知道如何执行所有这些操作以及如何执行其中一个。我不知道如何执行任何任意设置。

Gradle支持多个语句,即:
--tests

会做你想做的事
unit-testing gradle
3个回答
55
投票

在构建脚本中很容易做到:

gradle test --tests com.baz.bar.Foo --tests com.bar.foo.Baz --tests com.foo.baz.Bar
命令行等效是

test { filter { filterTestsMatching "com.baz.bar.Foo", "com.bar.foo.Baz", ... } }

(或仅是

9
投票
),但据我所知,此处仅支持一个类(更精确地单个模式)。

如果您需要传递多种模式的能力,则可以自己脚本脚本。例如,您可以读取从命令行传递的系统属性

--tests Foo
,将值分为单个部分,然后将其归为
-Dtest.filter=Foo,Bar,Baz

增强
filterTestsMatching
支持逗号限制的值可能会对gradle项目提出良好的要求。

th这个答案是this

的扩展
命令行选项:
如果要执行与命令行不同软件包中的多个测试,则可以执行如下:

<> - >替换为值

--tests

above命令将执行包装中存在的所有测试,并且对于

4
投票
任务,同一命令也可以用于其他功能和集成任务。 Java/Kotlin Project的Gradle版本7.4版。 Reference

执行一组测试,通过||分开,例如:

com.xyz

    

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.