android – Gradle测试命令没有运行任何测试

android – Gradle测试命令没有运行任何测试,第1张

概述我有一个简单的测试实现,我可以在 Android Studio上运行. 这个类在我的项目的/ src / androidTest目录里面. ApplicationTest.java: public class ApplicationTest extends ApplicationTestCase<Application> { public ApplicationTest() { 我有一个简单的测试实现,我可以在 Android Studio上运行.
这个类在我的项目的/ src / androIDTest目录里面. ApplicationTest.java:

public class ApplicationTest extends ApplicationTestCase<Application> {    public Applicationtest() {        super(Application.class);    }    @OverrIDe    protected voID setUp() throws Exception {        createApplication();    }    @SmallTest    public voID testSample() {        assertEquals("Pass: ",50,50);        assertEquals("Fail: ",49);    }}

但是当我尝试使用以下命令通过gradle运行时,没有任何运行.我正在尝试的Gradle命令:

./gradlew test

输出:

c-08e-abaek-0:HelloTest abaek$./gradlew test:app:preBuild UP-TO-DATE:app:preDeBUGBuild UP-TO-DATE:app:checkDeBUGManifest:app:prepareDeBUGDependencIEs:app:compileDeBUGAIDl UP-TO-DATE:app:compileDeBUGRenderscript UP-TO-DATE:app:generateDeBUGBuildConfig UP-TO-DATE:app:generateDeBUGAssets UP-TO-DATE:app:mergeDeBUGAssets UP-TO-DATE:app:generateDeBUGResValues UP-TO-DATE:app:generateDeBUGResources UP-TO-DATE:app:mergeDeBUGResources UP-TO-DATE:app:processDeBUGManifest UP-TO-DATE:app:processDeBUGResources UP-TO-DATE:app:generateDeBUGSources UP-TO-DATE:app:processDeBUGJavaRes UP-TO-DATE:app:compileDeBUGJava UP-TO-DATE:app:@R_457_3013@eBUGUnitTestJava:app:preDeBUGUnitTestBuild UP-TO-DATE:app:prepareDeBUGUnitTestDependencIEs:app:processDeBUGUnitTestJavaRes UP-TO-DATE:app:compileDeBUGUnitTestJava UP-TO-DATE:app:compileDeBUGUnitTestSources UP-TO-DATE:app:mockableAndroIDJar UP-TO-DATE:app:assembleDeBUGUnitTest UP-TO-DATE:app:testDeBUG UP-TO-DATE:app:preReleaseBuild UP-TO-DATE:app:checkReleaseManifest:app:prepareReleaseDependencIEs:app:compileReleaseAIDl UP-TO-DATE:app:compileReleaseRenderscript UP-TO-DATE:app:generateReleaseBuildConfig UP-TO-DATE:app:generateReleaseAssets UP-TO-DATE:app:mergeReleaseAssets UP-TO-DATE:app:generateReleaseResValues UP-TO-DATE:app:generateReleaseResources UP-TO-DATE:app:mergeReleaseResources UP-TO-DATE:app:processReleaseManifest UP-TO-DATE:app:processReleaseResources UP-TO-DATE:app:generateReleaseSources UP-TO-DATE:app:processReleaseJavaRes UP-TO-DATE:app:compileReleaseJava UP-TO-DATE:app:preCompileReleaseUnitTestJava:app:preReleaseUnitTestBuild UP-TO-DATE:app:prepareReleaseUnitTestDependencIEs:app:processReleaseUnitTestJavaRes UP-TO-DATE:app:compileReleaseUnitTestJava UP-TO-DATE:app:compileReleaseUnitTestSources UP-TO-DATE:app:assembleReleaseUnitTest UP-TO-DATE:app:testRelease UP-TO-DATE:app:test UP-TO-DATEBUILD SUCCESSFulTotal time: 3.303 secsThis build Could be faster,please consIDer using the Gradle Daemon: http://gradle.org/docs/2.4/userguIDe/gradle_daemon.HTML

我究竟做错了什么?

解决方法 我不熟悉各种AndroID测试,但我看到你正在尝试运行基本的单元测试.

命令:

./gradlew测试

将执行位于:src / test / java /目录中的纯java单元测试.

纯Java测试AndroID上的单元测试

如果要执行没有androID依赖项的纯Java单元测试,可以在src / test / java目录中找到它们并按如下方式定义它们:

@RunWith(JUnit4.class)public class SampleTest {  @Test  public voID testKiraiShouldSetAninputAndNotBeNull() {    // given    int givenValue = 50;    // when    int expectedValue = 50; // you can generate this value by your app    // then    assertthat(givenValue).isEqualTo(expectedValue);  }}

此外,您应该在build.gradle文件中具有以下依赖项:

dependencIEs {  testCompile 'junit:junit:4.12'  testCompile('com.Google.truth:truth:0.25') {    exclude group: 'junit' // AndroID has JUnit built in  }}

我正在使用Google Truth进行断言.这是非常方便的图书馆.
之后,您可以执行命令:

./gradlew测试

并且您的测试应该执行.此外,您还可以通过AndroID Studio执行它们.

如果您想查看纯Java测试的完整工作示例,可以在此处查看我的一个项目:https://github.com/pwittchen/kirai.

使用AndroID依赖项进行单元测试

如果您想使用AndroID依赖项创建单元测试(例如,使用AndroID SDK中的一些类),您应该将它们放在以下目录中:

SRC / androIDTest /

示例性测试可以看起来如下:

@RunWith(AndroIDJUnit4.class)public final class SampleTest {  @Test  public voID testKiraiShouldSetAninputAndNotBeNull() {  // given  int givenValue = 50;  // when  int expectedValue = 50; // you can generate this value by your app  // then  assertthat(givenValue).isEqualTo(expectedValue);  }}

基本上,与前一个示例的唯一区别是定义测试运行器的@RunWith注释的值以及您可以在此处使用AndroID SDK中的类的事实.

您应该在build.gradle文件中定义以下依赖项:

dependencIEs {  androIDTestCompile 'com.androID.support.test:testing-support-lib:0.1'  androIDTestCompile('com.Google.truth:truth:0.26') {    exclude group: 'junit' // AndroID has JUnit built in.  }  }

此外,您应该在build.gradle文件中定义testInstrumentationRunner,如下所示:

androID {  defaultConfig {    testInstrumentationRunner "androID.support.test.runner.AndroIDJUnitRunner"  }}

之后,您需要运行AndroID设备模拟器或将真正的AndroID设备连接到您的计算机并启用它上面的调试.

然后,您可以执行以下命令:

./gradlew connectedCheck

它将在设备或仿真器上执行检测单元测试.您也可以从AndroID Studio执行这些测试.

如果你想看看带有AndroID依赖项的单元测试的完整工作示例,你可以检查我的另一个项目,我正在使用这种方法:https://github.com/pwittchen/prefser.

AndroID上的自动测试可能在开始时令人困惑,我知道你的痛苦.我希望我的帖子会有所帮助. 总结

以上是内存溢出为你收集整理的android – Gradle测试命令没有运行任何测试全部内容,希望文章能够帮你解决android – Gradle测试命令没有运行任何测试所遇到的程序开发问题。

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

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

原文地址: http://outofmemory.cn/web/1122708.html

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

发表评论

登录后才能评论

评论列表(0条)

保存