【发布时间】:2018-04-17 18:23:53
【问题描述】:
我有一个带有一些测试的 LibGDX 项目。结构如下:
- core/src -> 用于我的 java 源代码
- core/test -> 我的测试源代码
- 核心/资产 -> 我所有的资产
当我从 eclipse 运行测试时,它们都变绿了,但是每当我尝试从 gradle 命令行 (./gradlew test) 运行它们时,我的 assets 文件夹都会出错。我相信这是因为测试不是从资产文件夹启动的,因为它是从 eclipse 启动的。
我怎么解决这个问题 ?有没有办法告诉 gradle 在运行测试时使用 core/assets 作为工作区目录?
这是我得到的错误:com.badlogic.gdx.utils.GdxRuntimeException: com.badlogic.gdx.utils.GdxRuntimeException: Couldn't load dependencies of asset: myasset.png
【问题讨论】:
-
首先请原谅,因为我认为您是从旧的设置工具生成项目,对于基于 gradle 的设置,它将在核心中创建资产文件夹,所以您能否提供一些您尝试访问的代码这些资产
-
有了上面描述的项目结构,假设我在 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 从资产文件夹运行测试。还是我做错了?
标签: unit-testing gradle libgdx assets