如何强制在Gradle Android版本上运行单元测试?

时间:2016-03-08 07:41:25

标签: android unit-testing gradle android-gradle

你好精通Android开发者!

(我知道这是一个非常基本的问题。我仍然围绕着Gradle和Android,而我在这个特定的搜索引擎上的Google搜索没有任何结果。)

我已经编写了第一个单元测试,并且使用

运行正常
./gradlew test

我不确定是什么让它运行,因为测试目录(src / test / java / tld / mycompany / myapp / MyTest.java)不在build.gradle或app / build.gradle中,但我假设它是由Android Gradle插件中的魔术执行的。无论哪种方式,当我选择" Rebuild Project"时,测试都不包含在构建中 - 如果我故意破坏测试,构建仍然成功。

如果测试失败,如何使构建运行测试并失败?

3 个答案:

答案 0 :(得分:0)

“重建项目”只需下载权限并编译代码。如果要正确构建项目,请使用

scale

即使你没有在任何地方声明它们,测试运行的原因是,如你所说,是android gradle插件的一部分。 / test /和/ androidTest /中的测试都是由于预定义的构建类型而执行的。 使用./gradlew build,将执行所有当前构建类型。

答案 1 :(得分:0)

如果你看here,你就会看到java的gradle任务之间的关系(这是它在Android中使用的)。

正如tknell所说,test和androidTest都被执行,因为它们已被标记为'作为导入的android插件中的测试目录。

'重建项目'任务确实是查看build.gradle文件并查看声明了哪些依赖项等。基于此,它为Android Studio构建了自己的项目。这(据我所知)并没有运行任何真正的gradle任务。

答案 2 :(得分:0)

您无法通过运行单元测试来“重建项目”。但您可以创建自定义运行以检查单元测试。截至Run > Edit Configuration。 你可以在这里看到更多。 http://rexstjohn.com/unit-testing-with-android-studio/