是否可以使用 libgdx 和 Android Studio 1.1 进行单元测试?

Is it possible to do unit testing with libgdx and Android Studio 1.1?

在 Gradle 方面,我完全是个新手,所以我一直在努力让它发挥作用。我试过遵循几个指南,但他们告诉我不同​​的事情(例如使用 instrumentTest、androidtest、test 等)。

我设法让文件夹以绿色突出显示,但随后出现了这个。

Execution failed for task ':android:mockableAndroidJar'.
> java.lang.IllegalArgumentException (no error message)

我也试过 Robolectric 但我不知道为什么没有任何效果。当然,由于 Android Studio 1.1 相对较新(支持单元测试),所以帮助相当稀缺。

以下是我如何在 Android Studio 中为我的 libgdx 项目使用 Junit 测试:

第 1 步:启用测试文件夹并设置 gradle 项目进行单元测试

在Android Studio 中,正确设置后它将显示为绿色文件夹。 要将文件夹 test 设置为测试文件夹,这是我在核心 libgdx gradle 项目中所做的:

project(":core") {
    apply plugin: "java"

    sourceSets.test.java.srcDirs = ["test/"]

    dependencies {
        compile "com.badlogicgames.gdx:gdx:$gdxVersion"
        compile "com.badlogicgames.gdx:gdx-ai:$aiVersion"
        ...

        // Test dependencies :
        testCompile "junit:junit:4.11"
        testCompile "org.mockito:mockito-core:1.9.5"
    }
}

现在测试文件夹已设置,测试框架应该在测试文件夹中可用。如果我没记错的话,如果测试文件夹不存在,您可能需要手动创建它。

步骤 2:在 Android Studio 1.1

中启用单元测试

在 Android studio 1.1 中启用单元测试工具的选项有点隐藏,因为该功能仍被认为是实验性的。要启用它,请转到 Settings/Gradle 并选中复选框以启用该功能。

第 3 步:运行 一些测试

右键单击您的测试文件夹,然后 select "Run all tests" 应该会出现显示测试结果的漂亮视图。

希望对您有所帮助。

我从 1.0.1 升级到 1.2.3com.android.tools.build:gradle 后遇到了同样的问题

我认为问题是由于 asm-tree jar 更改了它的组引起的。因此,添加以下构建脚本依赖项解决了我的问题:

    buildscript {
    repositories {
       ...
    }
    dependencies {
        classpath 'org.ow2.asm:asm-tree:5.0.4' //adding dependency
        classpath 'com.android.tools.build:gradle:1.2.3'
       ...
    }
}