如何使用 Gradle 运行多个命名测试?

2024-01-03

我知道怎么说

gradle test --tests mypackage.MyTest

但如何指定多个呢?

gradle test --tests mypackage.MyTest,mypackage.model.ModelTest,BasicTests

这似乎只是随机运行其中一项测试。

gradle test --tests mypackage.MyTest mypackage.model.ModelTest BasicTests

这告诉我

在根项目“myproject”中找不到任务“mypackage.model.ModelTest”。

我阅读了很多手册和教程(以及一些 SO 帖子),但发现没有明确提及答案。但我看到有人传递 --tests "somepackage.*" 作为参数,所以我认为空格周围的引号可能会有所帮助。

gradle test --tests "mypackage.MyTest mypackage.model.ModelTest BasicTests"

这不会很快失败,但不幸的是只运行列表中的第一个测试。

所以我想我只是被“--tests”中的复数形式误导了,并且没有办法真正给出一个列表,对吗?


文档文章关于在 Java 和 JVM 项目中进行测试 https://docs.gradle.org/current/userguide/java_testing.html#test_filtering非常清楚如何--tests选项有效。它只是一个包容性过滤器,注册所有要执行的匹配测试,与使用相同的方式includeTestsMatching in the filter一个块Test task:

test {
    filter {
        includeTestsMatching 'org.gradle.internal.*'
    }
}

这也是参数名称中使用复数的原因,因为通配符允许包含任意数量的测试。

注意通配符'*'没有特别的了解'.'包分隔符。它纯粹基于文本。所以--tests *.SomeTestClass将匹配任何包,无论其“深度”如何。

从 Gradle 4.7 开始,如果您以大写字母开头过滤器,则可以使用没有包信息的简单类名。

要包含不共享公共包结构的多个测试,您必须并且可以使用多个--tests参数,如文档中所述:

另请注意,可以提供多个--tests选项,其所有模式都会生效。

有关测试过滤器的其他信息可以在上面的链接和此相关问题中找到:

如何在gradle上只运行一个测试类 https://stackoverflow.com/questions/22505533/how-to-run-only-one-test-class-on-gradle


正如有关为什么您的一种方法不起作用的附加信息一样:

在命令行上执行 Gradle 符合以下结构。任务名称之前和之后允许使用选项。

gradle [taskName...] [--option-name...]

在你的第三个例子中,其他选项--tests选项被解释为任务名称,这解释了错误消息,因为具有指定名称的任务不存在。

为了防止选项值和任务名称之间的混淆并阻止任何 shell 干扰,您应该按照以下建议在引号之间定义过滤器哈基先生在他的博客中 http://mrhaki.blogspot.com/2016/06/gradle-goodness-running-all-tests-from.html.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 Gradle 运行多个命名测试? 的相关文章

随机推荐

  • 谷歌云从实例创建图像

    我有一个已启动并正在运行的虚拟机 并且虚拟机中几乎没有应用程序 因此 我想要拥有该虚拟机的映像 以便我可以使用所有已安装的软件包创建新实例 我有一个名为克隆的选项 但我想将其作为映像并在需要时创建虚拟机 而不是克隆虚拟机 这里描述的是 ht
  • Amazon + Django 每12小时出现[Errno 5] 输入/输出错误

    我最近设置并部署了一个 Amazon EC2 实例来部署我的 django 项目 当我在浏览器中收到此错误时 我正在通过浏览器与应用程序进行交互 errno 5 input output error django 这个错误确实引用了我的应用
  • 克隆时 IE8 无法识别 Html 5 时间标签

    在这种情况下 我一直无法让 IE 识别新的时间标签 这一切在 FF 中都很有效 这是代码 var origComment articleComment first div if origComment length gt 0 var com
  • JavaScript 动态函数名

    我需要将函数的名称动态分配给关联数组的元素 这是我的尝试 但行不通 我寻求帮助的问题是在这里我尝试调用该函数 cr cmd1 x
  • 缺少函数的返回类型 - 在反应(打字稿)代码中

    在我的 App tsx 中我得到了这个 function eslint 上缺少返回类型 typescript eslint explicit function return type 在我的主类组件中 我得到了这些 方法定义中缺少可访问性修
  • Dynamics CRM 2016 本地插件 - 异常:无法加载文件或程序集“Microsoft.IdentityModel.Clients.ActiveDirectory”

    我有一个 Dynamics CRM 2016 On Prem 插件 它连接到使用 Azure AD 保护的 ASP Net Web api 端点 因此我使用图书馆Microsoft IdentityModel Clients ActiveD
  • PHP 的 MongoDB 连接器:计算分页文档数

    我正在使用MongoDB Driver Manager使用 PHP 连接到 MongoDB 驱动程序版本是1 6 14 我可以连接并进行查询 但我需要查询的文档总数才能进行分页 reg pag 20 pag GET pag mng new
  • 为什么 Tomcat 管理器使用我的 LoginModule?

    我正在运行 Tomcat 6 0 29 并创建了我自己的领域和登录模块 它们在 server xml 中定义如下
  • C 和 C++ 中枚举的用途是什么

    枚举是常量整数值的列表 可以使用它来代替使用 define 定义常量值 但除此之外 我还没有在 C 和 CPP 中发现枚举的任何实质性用途 任何人都可以让我知道枚举的确切用途是什么 最初我想如果我们创建一个枚举变量并分配一个不在枚举值中的值
  • 将对象转换为 JAXBElement

    我想实现一个返回 JAXBElement 的方法 下面是代码 XmlRootElement name history XmlAccessorType XmlAccessType FIELD public class IBHistoryInf
  • 从表单中的所有选择元素中获取所有选定的选项元素

    大家好 感谢您抽出时间回答我的问题 我有一个包含 6 个选择元素的表单 其类别为 skillLevel 我需要使用 jQuery 获取 最好是在数组中 每个选择元素的值 我怎样才能做到这一点 您可以使用map method var arr
  • HTML 钻取表:设计

    我试图找出根据标签构建 HTML 钻取表的最佳方法 它必须简单 但最重要的是它应该符合逻辑 关于如何做到这一点是否有任何首选标准 你会推荐什么 一种可能的解决方案是 colspan tbody tr td td td Summery row
  • 更改 PHP.ini 位置文件?

    我在 OSX 上使用 apache2 默认情况下php ini位置是 private etc php ini 我需要把它改成这样 Library FileMaker Server Web Publishing publishing engi
  • Delphi 2010-IDE 不断停止在 CPU 调试窗口

    我在 D2010 IDE 中不断出现 CPU 调试窗口 我注意到这出现在一些断点上 而其他一些断点则不会导致这种效果 无法解释这种情况到底何时发生或哪些断点导致这种情况 但似乎当调试器无法到达代码上的断点时 它会停止在方法的开始地址上 并且
  • 在 jar 中包含属性/配置文件是一种不好的做法吗?

    例如 MyApp 是一个 Web 应用程序 其中包含一个属性文件 server properties 该文件描述应用程序的配置数据 例如服务器名称 在开发阶段 server properties 位于其自己的 IDE 项目文件夹中 它的逻辑
  • 当终端关闭时终止 sudo python 脚本

    如何判断运行 python 脚本的终端是否已关闭 如果用户关闭终端 我想安全地结束我的 python 脚本 我可以使用处理程序捕获 SIGHUP 但当脚本作为 sudo 运行时则不行 当我使用 sudo 启动脚本并关闭终端时 python
  • 模拟内存不足警告不起作用

    我有一个UIWebView in a UIViewController 我正在尝试将此视图控制器推送到现有的UINavigationController 它有另一个视图控制器 它也有一个UIWebView在里面 推动第一个视图控制器后 我尝
  • 单击时切换 CSS3 动画

    在没有 JavaScript 的情况下 在点击时改变 CSS3 动画方向的最佳方法是什么 我最近一直在探索复选框黑客 并试图找到一种方法 只使用一组关键帧 而不是两组 一个前进 一个返回 这可能吗 或者有没有办法用一套来做到这一点 例如我有
  • 如何删除mysql数据库中的重复记录?

    使用rails或mysql查询删除mysql数据库中重复记录的最佳方法是什么 您可以通过以下方式将不同的记录复制到新表中 select distinct into NewTable from MyTable
  • 如何使用 Gradle 运行多个命名测试?

    我知道怎么说 gradle test tests mypackage MyTest 但如何指定多个呢 gradle test tests mypackage MyTest mypackage model ModelTest BasicTes