Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/201.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java !!! 应为JUnit 3.8或更高版本_Java_Android_Junit - Fatal编程技术网

Java !!! 应为JUnit 3.8或更高版本

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

我的Android studio项目有一个依赖于Android框架的应用程序模块,我创建了一个名为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 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" />