我正在将Android项目loopback-sdk-android从Android Gradle Build Tools 0.9升级到1.1。 就IDE而言,迁移进行得很顺利,我可以编译项目并在模拟器上运行设备测试。

但是,命令行构建已中断。 当我运行./gradlew build (或./gradlew test )时,构建工具错误地从src/androidTest/java选择文件作为单元测试文件,并且构建失败,并出现一堆NoClassDefFoundError。

com.strongloop.android.loopback.test.AsyncTestCase > initializationError FAILED
    java.lang.NoClassDefFoundError
        Caused by: java.lang.ClassNotFoundException

./gradlew connectedAndroidTest可以正常运行,并在模拟器上从src/androidTest/java运行测试。

如何配置gradle构建,使其不将设备测试作为纯单元测试运行?

#1楼 票数:0 已采纳

解决方案:升级构建文件后,删除旧的构建工件。

./gradlew clean

为了方便起见,以下是一小段代码,向我确认该构建可以正确拾取源文件:

android {
    sourceSets {
        logger.info("androidTest java srcdirs");
        androidTest.java.srcDirs.each { d -> logger.info("\t" + d) }

        logger.info("test java srcdirs");
        test.java.srcDirs.each { d -> logger.info("\t" + d) }
    }
}

./gradlew --info test产生以下结果:

androidTest java srcdirs
    ~/src/loopback/android/src/androidTest/java
test java srcdirs
    ~/src/loopback/android/src/test/java

#2楼 票数:0

打开文件build.gradle(Module:app)

在android中评论您的测试编译{}

// testInstrumentationRunner“ android.support.test.runner.AndroidJUnitRunner”

  ask by Miroslav Bajtoš translate from so

未解决问题?本站智能推荐:

2回复

重命名类后,Gradle测试运行失败

我们已设置Gradle来构建和测试我们的Android应用。 现在我们遇到了一个问题,即在项目中重命名一个类后, Gradle测试运行可再现地失败 : 两者均可重现此错误。 在本地 (从Android Studio运行gradle测试,或使用./gradlew test在命令行上./
3回复

在Jenkins(Gradle)上运行android单元测试和仪器测试

我的 androidTest 文件夹中有一些单元和仪器测试。 我正在尝试在本地 Jenkins 上运行这些测试。 我已经成功地使用 Jenkins 配置了我的项目,并且我还为仪器测试创建了一个模拟器。 到目前为止,我看到的所有资源都只关注 ant 和早期版本的 Gradle。 当前版本中编写任务的语
3回复

如何阻止Gradle检测的测试运行卸载应用程序?

如果我: 创建一个全新的 Android Studio 3.5.1 项目(Kotlin,API 21,“Empty Activity”模板) 从 IDE 内部运行应用程序 确认应用程序已安装并具有启动器图标 运行connectedAndroidDebugTest Gradle 任务(从 Andr
3回复

如何强制在GradleAndroid构建上运行单元测试?

您好,优秀的Android开发者! (我知道这是一个非常基本的问题。我仍在围绕Gradle和Android进行研究,而我在该特定谷歌上搜索完全没有结果。) 我已经编写了我的第一个单元测试,并且使用 我不确定是什么使它运行,因为测试目录(src / test / java / tld
1回复

从AndroidStudio运行robolectric和android单元测试

我现在有各种AndroidTestCases其使用Mockito和模块dexmaker-mockito 。 我现在正在尝试使用robolectric plugin添加Robolectric测试用例。 我一切运行正常,只是当我尝试无争议地模拟方法时,我从Dexmaker收到IllegalArg
1回复

在Android单元测试中使用提供gradle依赖

我正在尝试将Dagger 2集成到单元测试中。 不幸的是,每当运行测试时,我都会得到java.lang.NoClassDefFoundError: javax/inject/Provider 。 我在Gradle中添加了javax依赖项,如下所示: 我尝试过的内容: provided了
1回复

如何在针对特定Gradle构建风格的同时从命令行运行单个单元测试方法

我试图从命令行只运行一个 Android 测试用例。 在 IDE 中,我可以右键单击并运行,但是在 CLI 中,它会失败: 错误: 如何运行单个 UNIT TEST 方法? 我想强调的是,我想运行单个单元测试,而不是来自命令行的仪器测试。 更新:我有一个相机应用程序。 想象一下,我有一个名为usCa
1回复

如何通过AndroidStudio运行单元测试?

我正在尝试通过本地支持在Android Studio中启用单元测试。 Android Studio 1.1+和Android Gradle插件版本1.1.0+添加了单元测试支持。 我目前正在使用的项目JCandKSolutions android单元测试插件,因为它在提供本机单元测试支持