!!!预计 JUnit 版本 3.8 或更高版本

!!! JUnit version 3.8 or later expected

我的 Android 工作室项目有一个依赖于 android 框架的应用程序模块,我创建了一个名为域的新模块,它只包含纯 java class es 和一些测试 classes.

在这个模块的 build.gradle 文件中,我添加了 junit 和 mockito 库用于测试目的如下:

apply plugin: 'java'
sourceCompatibility = 1.7
targetCompatibility = 1.7
dependencies {
    testCompile 'junit:junit:4.11'
    testCompile 'org.mockito:mockito-core:1.9.5'
    compile project(':common')
    compile project(':model')
    //test dependencies
}

但是 Android 每当我尝试执行测试时,Studio 都会给我 !!! JUnit version 3.8 or later expected 错误消息 class。

此问题的所有建议解决方案是打开项目结构 |模块 |依赖项,并将 junit-4.7.jar 向上移动,使其位于 class 路径中的 Android 1.6 平台之前。

事实上,我已经尝试实施这个解决方案,但问题仍然存在。

知道如何解决这个问题吗?

我通过更改 .iml 文件中的以下内容设法解决了问题

来自:

 <component name="NewModuleRootManager" inherit-compiler-output="true">

至:

  <orderEntry type="inheritedJdk" />

我已经设法通过简单地编辑项目的 iml 和移动 junit 的订单 enrty 来解决它,在我的例子中:

<orderEntry type="library" exported="" scope="TEST" name="junit-4.13-SNAPSHOT" level="project" />

最多成为</content>

之后的第一个orderEntry

我刚才已经解决了。它可能会帮助你……也许。 一点说明:

  1. 转到 运行 -> 编辑配置
  2. 删除左侧面板上的 JUnit 配置

我有这个,但原因不同..我无意中将我的构建变体设置为 Release,并且没有指定任何签名信息,因此无法在设备上构建和 运行。

它给我的神秘错误与我尝试 运行 集成测试时的错误相同...没有注意到该应用程序也被禁用了:-P 将其设置回 Debug,它工作正常。