【问题标题】:Android Studio Integration test cannot resolve symbol AndroidJUnit4Android Studio 集成测试无法解析符号 AndroidJUnit4
【发布时间】:2016-09-29 21:44:58
【问题描述】:

我看到了类似问题的部分答案,但从未真正解决问题。我把它归结为一个最小的应用程序来演示这个问题。

我使用的是最新版本的 Android Studio (V2.2.1) 我安装了以下 SDK:


import android.support.test.runner.AndroidJUnit4;
import android.test.suitebuilder.annotation.SmallTest;

import org.junit.runner.RunWith;


@RunWith(AndroidJUnit4.class)
@SmallTest
public interface ExampleIntegrationTest {
}

这就是问题出现的地方 - 无法解析符号 AndroidJUnit4 上线:import android.support.test.runner.AndroidJUnit4;

如果我键入导入语句,我可以使用弹出建议:
- 导入安卓。 - 它显示“支持作为选项”
- 导入 android.support。 - 它显示“测试”作为选项
- 导入 android.support.test。 - 现在它只显示“规则”作为选项

创建应用后,我确保它使用的是“调试”变体

这很简单。据我所知,这应该可以工作,但是由于某种原因,支持库没有正确导入。

【问题讨论】:

  • 你收到过这个吗?我以前见过它,它消失了,我感觉它与我自己下面正在更新的依赖项有关。厌倦了看到“尝试以正确的方式做事并使用 androidTest 文件夹”

标签: android android-studio compiler-errors integration-testing undefined-symbol


【解决方案1】:

请确保您的测试位于正确的文件夹中。本地和仪器测试必须位于各自的文件夹中,如下所述:

Take a look at this article 上面写着...

运行仪表化单元测试要运行仪表化测试,请按照 这些步骤:

通过单击“同步”确保您的项目与 Gradle 同步 工具栏中的项目。以下列方式之一运行您的测试: 要运行单个测试,请打开“项目”窗口,然后右键单击 测试并单击运行。要测试类中的所有方法,请右键单击 测试文件中的类或方法,然后单击 Run 。在一个 目录,右键单击该目录并选择 Run tests 。这 Android Plugin for Gradle 编译位于 在默认目录 (src/androidTest/java/) 中,构建一个测试 APK 和生产 APK,在连接的设备上安装这两个 APK 或 模拟器,并运行测试。 Android Studio 然后显示结果 在“运行”窗口中执行检测的测试。

因此各位,instrumentation test 的文件夹必须是(不要忘记大小写)

src/androidTest/java

对于本地测试,文件夹必须是

src/test/java

然后你可以让你的包文件夹匹配你的应用包

希望,这对社区有所帮助!

【讨论】:

    【解决方案2】:

    通过将测试添加到

    来解决此问题
    • /app/src/androidTest 目录而不是
    • /app/src/test 仅用于单元测试的目录

    或者,当您创建测试类时,通过在项目树的“Android Instrumentation Tests”选项卡中选择新类来添加测试

    【讨论】:

    • /app/src/androidTest/java 准确地说是因为我错过了那个 java 目录,它的行为完全不同。
    • 读到这里让我觉得自己很愚蠢(不够夸张)。非常感谢。先生,您帮助愚蠢的人获得支持。
    • 如果有人仍然看到这个问题并且您使用的是非标准构建变体,这个答案可能会对您有所帮助:stackoverflow.com/a/34778780/4672234
    猜你喜欢
    • 2017-09-06
    • 2015-08-16
    • 2015-11-17
    • 2016-02-19
    • 2018-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多