【问题标题】:Android Studio gradle experimental test (JUNit)Android Studio gradle 实验测试(JUNit)
【发布时间】:2015-04-01 11:07:12
【问题描述】:

我正在尝试使用 InstrumentationTestCase 测试我的课程。我一直在检查示例,但我想我遗漏了一些东西,因为“测试工件”下拉列表被禁用并且无法更改为 JUNit。

我在 gradle 中声明了库

// Test Compile
testCompile 'junit:junit:4.12'
testCompile 'org.robolectric:robolectric:2.4'
testCompile 'org.mockito:mockito-core:1.9.5'
testCompile 'org.reflections:reflections:0.9.9'

声明的应用ID,

defaultConfig {
    testApplicationId "myproject.android.test"
  }

并获得最新的 gradle 版本

dependencies {
        classpath 'com.android.tools.build:gradle:+'
    }

还为我的测试包创建了构建配置。但是当我运行测试时它给了我

Exception in thread "main" java.lang.NoClassDefFoundError: junit/textui/ResultPrinter

可能是因为测试工件是“Android Instrumentation Tests”并且构建配置是 JUNit 配置。测试工件下拉菜单已禁用,因此我无法将其更改为 JUNit。有什么我遗漏的吗?

编辑: 我的包树是这样的,

myproject
 - app
   - main
    - java
      -myproject
       -android
        -mypackage
         -myclass.java
   -test
    -java
     -myproject
      -android
       -mypackage
        -test
         -myclasstest.java

在 Android Studio 首选项中,在 Gradle->Experimental 下,选中“启用单元测试支持”。

【问题讨论】:

    标签: android android-studio android-gradle-plugin junit4


    【解决方案1】:

    您需要执行几个步骤来激活 Android Studio 中的 JVM 单元测试。请按照以下步骤操作:https://sites.google.com/a/android.com/tools/tech-docs/unit-testing-support

    【讨论】:

    • 是的,我忘了提到我还从 gradle 选项激活了单元测试。这是我一直在关注的文档,但我仍然无法从测试工件列表中选择 JUnit。
    • 我还意识到,每当我切换回构建变体部分时,都会出现一个弹出窗口并说我需要 1.0.0+ 或更高的等级,并且我一直使用 .+ 来获得它。
    • 您是否在 Android Studio 设置的 gradle 设置中激活了单元测试支持?您的单元测试代码是否在 src/test 文件夹中?
    • 是的,你至少需要 gradle 1.1。在您的构建 gradle 项目中更新到类路径 'com.android.tools.build:gradle:1.1.3'
    • 请查看我编辑的答案,我添加了一些我忘记提及的内容。我开始认为这是因为我的 gradle 版本,正如我之前提到的,我使用 classpath 'com.android.tools.build:gradle:+' 得到它,这应该是最后一个版本吧?
    猜你喜欢
    • 2014-07-18
    • 1970-01-01
    • 2014-03-09
    • 1970-01-01
    • 1970-01-01
    • 2015-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多