Unit testing 找不到来自gradle命令行资源的Libgdx测试
我有一个带有一些测试的LibGDX项目。结构如下:Unit testing 找不到来自gradle命令行资源的Libgdx测试,unit-testing,gradle,libgdx,assets,Unit Testing,Gradle,Libgdx,Assets,我有一个带有一些测试的LibGDX项目。结构如下: core/src->用于我的java源代码 核心/测试->用于我的测试源代码 核心/资产->我的所有资产 当我从eclipse运行测试时,它们都会变成绿色,但是每当我试图从gradle命令行(./gradlew test)运行它们时,我都会在assets文件夹中得到一个错误。我认为这是因为测试不是从assets文件夹启动的,而是从eclipse启动的。 我怎样才能解决这个问题?在运行测试时,有没有办法告诉gradle使用core/asset
- core/src->用于我的java源代码
- 核心/测试->用于我的测试源代码
- 核心/资产->我的所有资产
我怎样才能解决这个问题?在运行测试时,有没有办法告诉gradle使用core/assets作为工作区目录 下面是我得到的错误:
com.badlogic.gdx.utils.GdxRuntimeException:com.badlogic.gdx.utils.GdxRuntimeException:无法加载资产的依赖项:myasset.png
我找到了实现我想要的东西的方法。我将我的解决方案发布在这里,供可能需要它的人使用。gradle中的测试任务有一个名为workingDir
的属性。所以我只需要将它设置到正确的文件夹。在项目的build.gradle
文件(根文件夹)中,只需添加以下部分:
project(":core") {
apply plugin: "java"
// Add the following test section
test{
workingDir= new File("/assets")
}
// Rest of the file
}
就这样!我的测试现在在命令行中以绿色运行。我找到了一种方法来实现我想要的。我将我的解决方案发布在这里,供可能需要它的人使用。gradle中的测试任务有一个名为
workingDir
的属性。所以我只需要将它设置到正确的文件夹。在项目的build.gradle
文件(根文件夹)中,只需添加以下部分:
project(":core") {
apply plugin: "java"
// Add the following test section
test{
workingDir= new File("/assets")
}
// Rest of the file
}
就这样!我的测试现在在命令行中以绿色运行。首先,请原谅,我以为您是从旧的安装工具生成项目的,对于基于gradle的安装,它将在core中创建assets文件夹,因此,您可以提供一些代码,从中尝试访问具有上述项目结构的资产,比如我在我编写的代码中的core/assets/myTexture下有一个名为“myTexture.png”的精灵:
assets.load(“sprite/myTexture.png”,Texture.class)代码>(注意我是如何省略“资产”文件夹的)。如果我从eclipse启动测试,这将很好地工作。但从gradle命令行,这将导致上述路径错误。为了让它在gradle下工作,我必须调用:assets.load(“assets/sprite/myTexture.png”,Texture.class)代码>它将在gradle下工作,但在eclipse中不再工作。这就是为什么我想问一种方法,告诉gradle从assets文件夹运行测试。或者可能我做错了?首先,请原谅,因为我认为您是从旧的设置工具生成项目,对于基于gradle的设置,它将在core中创建assets文件夹,因此您可以提供一些代码,从中使用上述项目结构访问这些资产,比如我有一个名为“myTexture.png”的精灵在我的代码中的core/assets/MyTexture下,我写到:assets.load(“sprite/MyTexture.png”,Texture.class)代码>(注意我是如何省略“资产”文件夹的)。如果我从eclipse启动测试,这将很好地工作。但从gradle命令行,这将导致上述路径错误。为了让它在gradle下工作,我必须调用:assets.load(“assets/sprite/myTexture.png”,Texture.class)代码>它将在gradle下工作,但在eclipse中不再工作。这就是为什么我想问一种方法,告诉gradle从assets文件夹运行测试。或者我做错了?