我有一个简单的测试实现,我可以在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: ", 50, 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_787_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测试命令没有运行任何测试所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)