我的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之前。
事实上,我已尝试实施此解决方案,但问题仍然存在。
有关如何解决此问题的任何想法?
答案 0 :(得分:43)
答案 1 :(得分:8)
我设法通过简单地编辑项目的iml和移动顺序enrty来解决它,在我的情况下:
<orderEntry type="library" exported="" scope="TEST" name="junit-4.13-SNAPSHOT" level="project" />
最后是</content>
答案 2 :(得分:0)
我有这个,但原因不同。我无意中将我的构建版本设置为Release并且没有指定任何签名信息,因此无法在设备上构建和运行任何内容。
当我尝试运行集成测试时,它给我的神秘错误是同样的错误...没有注意到应用程序也被禁用:-P 将它设置回Debug,它工作正常。
答案 3 :(得分:-7)
我设法通过更改.iml文件中的以下内容来解决问题
从:
<component name="NewModuleRootManager" inherit-compiler-output="true">
为:
<orderEntry type="inheritedJdk" />