是否可以使用 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'
...
}
}
在 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'
...
}
}