Java !!! 应为JUnit 3.8或更高版本
我的Android studio项目有一个依赖于Android框架的应用程序模块,我创建了一个名为domain的新模块,它只包含纯java类和一些测试类 在本模块的build.gradle文件中,我添加了junit和mockito库,用于测试目的,如下所示:Java !!! 应为JUnit 3.8或更高版本,java,android,junit,Java,Android,Junit,我的Android studio项目有一个依赖于Android框架的应用程序模块,我创建了一个名为domain的新模块,它只包含纯java类和一些测试类 在本模块的build.gradle文件中,我添加了junit和mockito库,用于测试目的,如下所示: apply plugin: 'java' sourceCompatibility = 1.7 targetCompatibility = 1.7 dependencies { testCompile 'junit:junit:4.1
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 3.8或更高版本在我尝试执行测试类时会出现错误消息
对于这个问题,所有建议的解决方案都是打开项目结构|模块|依赖项,并将junit-4.7.jar向上移动,以便它在类路径中位于Android 1.6平台之前
事实上,我已尝试实施此解决方案,但问题仍然存在。
你知道如何解决这个问题吗?我通过在.iml文件中更改以下内容来解决这个问题
发件人:
致:
我只需编辑项目的iml并将order enrty移至junit即可解决此问题,在我的例子中:
<orderEntry type="library" exported="" scope="TEST" name="junit-4.13-SNAPSHOT" level="project" />
作为
之后的第一个订单条目,我刚才已经解决了这个问题。它可能会帮助你。。。大概
一点指示:
转到运行->编辑配置
删除左侧面板上的JUnit配置
我有这个问题,但原因不同。我无意中将生成变量设置为Release,并且没有指定任何签名信息,因此无法在设备上生成和运行任何内容
当我尝试运行集成测试时,它给了我一个神秘的错误…没有注意到应用程序也被禁用:-p
将其设置回Debug,即可正常工作。测试的运行/调试配置是什么样的?具体来说,属性“UseClasspath of module”对您的测试来说意味着什么?你可以在运行时->编辑配置,然后在左边选择一个配置。发布你的build.gradle
。我可以通过删除unitTest来解决它。returnDefaultValues
,检查:这没有意义。这些是不同的标签。这不是一个好的做法,因为您项目的最终用户可以导入您的项目,Intellij将重新创建*.iml文件。在我这方面,发现问题在于缓存旧依赖项的引用,在这种情况下,此解决方案会导致其他开发人员使用反模式,如果开发人员按照这样的帖子开始他的旅程,这尤其糟糕。不要修改*.iml,它在官方Intellij文档中的某个地方对我有用。可能它会清除不需要的缓存。但是在删除未命名的JUnit配置后,你会为(J)单元测试运行什么?这对我来说很有效,在使用android和两个单元测试时似乎很常见。对我来说不起作用,现在我不知道如何恢复我的单元测试configuration@J.K.这就是我担心的。你有没有想过如何同时进行仪器测试和单元测试?请不要帮我解决这个问题。@Rotem Slootzky谢谢你的解决!你能给我们指些虫子票吗?干杯
<orderEntry type="inheritedJdk" />
<orderEntry type="library" exported="" scope="TEST" name="junit-4.13-SNAPSHOT" level="project" />