如何使用 gradlew 从子项目运行一项测试?

问题描述

我在 gradle 中有一个多项目构建。这是一个 android 项目,当我在 android studio 中手动执行时,有问题的测试确实会运行。 项目结构如下:

.../my-app$ ./gradlew -q projects
[...]
Root project 'my-app'
+--- Project ':myapp'
\--- Project ':mymodel'
[...]

我想在 :myapp 中执行单个测试(类)。 由于版本限制,我必须使用项目根目录中的 gradlew

执行单个测试的正确命令似乎是 ./gradlew test --tests my.project.MyTest 但我不知道如何处理子项目。

如果我运行 ./gradlew test --tests my.project.MyTest 我得到

FAILURE: Build Failed with an exception.

* What went wrong:
Problem configuring task :myapp:test from command line.
> UnkNown command-line option '--tests'.

建议运行 gradle help --task :myapp:test 这产生了

> Task :help
Detailed task information for :myapp:test

Path
     :myapp:test

Type
     Task (org.gradle.api.Task)

Description
     Run unit tests for all variants.

Group
     verification

而且根本没有命令行选项,所以我想我可以忽略它。

./gradlew test my.project.MyTest 给予
Task 'my.project.MyTest' not found in root project 'my-app'.
./gradlew :myapp:test my.project.MyTest 也一样。

This answer一个较旧的问题建议拼出对我来说是 ./gradlew :myapp:testReleaseUnitTest --tests my.project.MyTest 并且产生的变体名称

> Task :myapp:testReleaseUnitTest Failed

FAILURE: Build Failed with an exception.

* What went wrong:
Execution Failed for task ':myapp:testReleaseUnitTest'.
> No tests found for given includes: [my.project.MyTest](--tests filter)

./gradlew --version7.1,我刚刚使用 ./gradlew wrapper --gradle-version 7.1gradle wrapper 升级到它。
在这一点上没有想法。我究竟做错了什么?如何在命令行中运行单个测试?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...