如何使用 gradlew 命令分别执行 Espresso 多个测试类

Posted

技术标签:

【中文标题】如何使用 gradlew 命令分别执行 Espresso 多个测试类【英文标题】:How to execute Espresso multiple test classes separately using gradlew command 【发布时间】:2017-07-19 03:57:19 【问题描述】:

我在 android Studio 中有以下形式的 Espresso 仪器测试用例。

现在,我想单独运行几个类。

例如:我想使用 gradlew 命令仅运行 CrashersTest 和 EM3AppUtil 类,并使用另一个命令运行其余类。

我怎样才能实现它?

我正在使用以下命令

./gradlew :app:connectedLocalDebugAndroidTest

它运行 LocalDebug 变体的所有类 我只想运行几个课程

【问题讨论】:

【参考方案1】:

将光标放在java文件中的类名上或在文件视图中选择文件然后按ctrl+shift+F10

请参阅How to run only one test class on gradle 以从 gradlew 命令运行测试

【讨论】:

我明白了,但我看不到任何过滤仪器测试用例的方法。这个是针对 Junit 测试用例的。【参考方案2】:

据我所知,目前对于仪器化测试没有很好的方法。

您可以创建一个测试套件来运行您想要的特定测试,如此处记录的 https://developer.android.com/training/testing/unit-testing/instrumented-unit-tests.html#test-suites

或者在您的测试中使用@SmallTest、@MediumTest 或@LargeTest 注释,然后像这样在命令行中传递

./gradlew connectedAndroidTest -Pandroid.testInstrumentationRunnerArguments.size=small

【讨论】:

这对我有帮助。非常感谢:)

以上是关于如何使用 gradlew 命令分别执行 Espresso 多个测试类的主要内容,如果未能解决你的问题,请参考以下文章

每次我执行 docker run ./gradlew 命令时,它都会下载所有 gradle 文件和依赖项。如何只下载和安装一次?

react-native在mac上执行gradlew命令报错 ./gradlew: command not found

android studio命令行错误gradlew: Permission denied

Android Gradle 插件Gradle 基础配置 ⑥ ( Android工程 Gradle 常用命令 | gradlew 可执行文件 | 查看帮助文档 | 查看应用依赖 )

gradlew 命令

-bash :gradlew command not found