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

时间:2015-03-20 17:42:39

标签: java android junit

我的Android工作室项目有一个依赖于android框架的app模块,我创建了一个名为domain的新模块,它只包含纯java类和一些测试类。

在这个模块的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错误消息。

此问题的所有建议解决方案是打开项目结构|模块|依赖关系,并将junit-4.7.jar向上移动,以便它在类路径中的Android 1.6 Platform之前。

事实上,我已尝试实施此解决方案,但问题仍然存在。 Image of my dependencies structure

有关如何解决此问题的任何想法?

4 个答案:

答案 0 :(得分:43)

我刚刚解决了这个问题。它可能会帮助你......也许吧。 一点指示:

  1. 转到“运行” - >编辑配置
  2. 删除左侧面板上的JUnit配置
  3. enter image description here

答案 1 :(得分:8)

我设法通过简单地编辑项目的iml和移动顺序enrty来解决它,在我的情况下:

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

最后是</content>

之后的第一个orderEntry

答案 2 :(得分:0)

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

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

答案 3 :(得分:-7)

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

从:

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

为:

  <orderEntry type="inheritedJdk" />