从gradle运行单个Android(单元)测试,而不加载其他项目依赖项

从gradle运行单个Android(单元)测试,而不加载其他项目依赖项,第1张

概述我正在使用awesome plugin from Jake Wharton进行Android单元测试.我努力让这些单元测试运行的目的是为了速度(TDD快速反馈和所有).我已经设法正确配置它并运行一些示例测试,如下所示:./gradlew test 每当我运行测试时,我会注意到以下输出:Relying on packaging to define the ex

我正在使用awesome plugin from Jake Wharton进行AndroID单元测试.我努力让这些单元测试运行的目的是为了速度(TDD快速反馈和所有).

我已经设法正确配置它并运行一些示例测试,如下所示:

./gradlew test

每当我运行测试时,我会注意到以下输出:

Relying on packaging to define the extension of the main artifact has been deprecated and is scheduled to be removed in Gradle 2.0The Test.testReportDir property has been deprecated and is scheduled to be removed in Gradle 2.0. Please use the Test.getReports().getHTML().getDestination() property instead.The TaskContainer.add() method has been deprecated and is scheduled to be removed in Gradle 2.0. Please use the create() method instead.:mySampleApp:preBuild UP-TO-DATE:mySampleApp:preDeBUGBuild UP-TO-DATE:mySampleApp:preReleaseBuild UP-TO-DATE:librarIEs:facebook:compilelint:librarIEs:facebook:copyReleaselint UP-TO-DATE:librarIEs:facebook:mergeReleaseProguardfiles UP-TO-DATE:librarIEs:facebook:packageReleaseAIDl UP-TO-DATE:librarIEs:facebook:preBuild UP-TO-DATE:librarIEs:facebook:preReleaseBuild UP-TO-DATE:librarIEs:facebook:prepareReleaseDependencIEs:librarIEs:facebook:compileReleaseAIDl UP-TO-DATE:librarIEs:facebook:compileReleaseRenderscript UP-TO-DATE:librarIEs:facebook:generateReleaseBuildConfig UP-TO-DATE:librarIEs:facebook:mergeReleaseAssets UP-TO-DATE:librarIEs:facebook:mergeReleaseResources UP-TO-DATE:librarIEs:facebook:processReleaseManifest UP-TO-DATE:librarIEs:facebook:processReleaseResources UP-TO-DATE:librarIEs:facebook:generateReleaseSources UP-TO-DATE:librarIEs:facebook:compileRelease UP-TO-DATE:librarIEs:facebook:processReleaseJavaRes UP-TO-DATE:librarIEs:facebook:packageReleaseJar UP-TO-DATE:librarIEs:facebook:packageReleaseLocalJar UP-TO-DATE:librarIEs:facebook:packageReleaseRenderscript UP-TO-DATE:librarIEs:facebook:packageReleaseResources UP-TO-DATE:librarIEs:facebook:bundleRelease UP-TO-DATE:mySampleApp:prepareComAndroIDSupportAppcompatV71800library UP-TO-DATE:mySampleApp:preparemySampleAppandroIDlibrarIEsFacebookUnspecifIEdlibrary UP-TO-DATE:mySampleApp:prepareDeBUGDependencIEs:mySampleApp:compileDeBUGAIDl UP-TO-DATE:mySampleApp:compileDeBUGRenderscript UP-TO-DATE:mySampleApp:generateDeBUGBuildConfig UP-TO-DATE:mySampleApp:mergeDeBUGAssets UP-TO-DATE:mySampleApp:mergeDeBUGResources UP-TO-DATE:mySampleApp:processDeBUGManifest UP-TO-DATE:mySampleApp:processDeBUGResources UP-TO-DATE:mySampleApp:generateDeBUGSources UP-TO-DATE

Gradle似乎正在为我的项目加载所有依赖项.

我的样本测试如下:

package com.mycompany.mysampleapp;import org.junit.Test;import static org.fest.assertions.API.Assertions.assertthat;public class AdditionoperationsTest {  @Test public voID testModulus() {    assertthat(1).isEqualTo(1);  }}

这个测试实际上应该只需要几分之一秒才能运行.我的理解是,所有预先加载项目依赖项的行为都会让它陷入困境.

在美好的日子里,我会确保我在CLAsspATH中拥有我需要的东西并运行如下:

javac src/test/java/main/java/com/micromobs/pkk/AdditionoperationsTest.javajava org.junit.runner.JUnitCore com.micromobs.pkk.AdditionoperationsTest

考虑到这是一个带有gradle的AndroID项目,我假设我必须做一些不同的事情,比如在gradle构建文件中创建特定任务,其中只包括我的示例项目的测试文件,然后运行gradle命令. / gradlew taskname?

问题:是否可以单独在我的项目(com.mycompany.mysampleapp)的上下文中运行单个测试“AdditionoperationsTest”,以便它不会加载外部项目依赖项

这是我的配置文件目前的样子:

# settings.gradleinclude ':librarIEs:gradle-androID-test-plugin'include ':librarIEs:facebook',':mysampleapp'# build.gradle...apply plugin: 'androID-test'dependencIEs {    testCompile 'junit:junit:4.10'    testCompile 'org.robolectric:robolectric:2.1.+'    testCompile 'com.squareup:fest-androID:1.0.+'}# location of my test files:androIDproj/mysampleapp/src/test/java/main/com/mycompany/mysampleapp/AdditionoperationsTest.java
最佳答案您应该可以使用-a command line option(不重建项目依赖项)来执行此 *** 作.执行gradle -a测试应该导致库:facebook和mysampleapp项目没有被重建.

编辑:如下所述,您可以使用Gradle daemon显着提高Gradle构建的性能. 总结

以上是内存溢出为你收集整理的从gradle运行单个Android(单元)测试,而不加载其他项目依赖项全部内容,希望文章能够帮你解决从gradle运行单个Android(单元)测试,而不加载其他项目依赖项所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/1140345.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-31
下一篇2022-05-31

发表评论

登录后才能评论

评论列表(0条)

    保存