androidTest 未编译,显示无法解析符号

标签 android android-studio junit android-gradle-plugin android-testing

我正在尝试在我的 Android 项目中使用 Espresso 添加仪器测试。

除了添加 AndroidJUnitRunner 作为 testInstrumentationRunner 之外,我还添加了所有必要的库:

app -> build.gradle

但由于某种原因,导入在仪器测试文件中不起作用:

androidTest file

但是本地测试文件正在正确获取导入:

local test file

我还添加了 junit 作为 androidTestImplementation,但没有什么区别:

androidTestImplementation 'junit:junit:4.12'

这就是我无法运行测试文件的原因。

如果我无论如何运行该文件,我会收到此错误:

Process finished with exit code 1
Class not found: "com.mcp.shippax.MainActivityEspressoTest"Empty test suite.

当设置如此直接和简单时,我无法理解为什么会发生这种情况(许多等级同步/无效缓存/重新启动)。

除了将大部分源文件(包括测试文件)转换为 Kotlin 之外,我不记得做过任何项目更改。但后来我又将测试文件恢复回java。

最佳答案

我也遇到了同样的问题。我为开发和生产环境提供了各种构建类型,对我有帮助的是指定 testBuildType,如这个答案 https://stackoverflow.com/a/34778780/9736105 所示。 .

所以像这样:

android {

    ...

    testBuildType "<my-build-type>"

    buildTypes {
        <my-build-type> {
            ...  
        }
        ....
    }
}

完成此操作并将构建变体设置为该构建类型后,我能够解决所有依赖项。

关于androidTest 未编译,显示无法解析符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54663911/

相关文章:

java - 从 ANDROID 2.2 (HTC desire) 发送 UDP 包

android - "already added"ormlite 和 gradle 异常

android - 在 Android 上共享对话框 Facebook

android - 无法从 C 加载 api 描述 :. .....\Android\Sdk\platform-tools\api\api-versions.xml java.lang.OutOfMemoryError: GC 开销限制超过 ```

java - JUNIT : run setup only once for a large number of test classes

eclipse - 无法在 Eclipse 中导入 mockito - 立即消失

android - Titanium Android Activity 不保持状态

java - 如何旋转SeekBar上的TextView?

android - 在 MS Windows 下获取可用的 Android Vulkan 示例

android - 在 Gradle for Android 应用程序中运行 JUnit 测试