小编Tim*_* F.的帖子

通过HeadlessApplication调用ShaderProgram(例如Stage)的单元测试Libgdx类

我正在尝试对corelibgdx应用程序的程序包进行单元测试。

模拟ShaderProgram根类的最佳方法是什么?

考虑到Libgdx测试运行程序的以下初始化,

init {
    val conf = HeadlessApplicationConfiguration()

    HeadlessApplication(this, conf)
    Gdx.gl = mock(GL20::class.java) 
    Gdx.gl20 = mock(GL20::class.java)
    Gdx.gl30 = mock(GL30::class.java)
    Gdx.graphics = mock(Graphics::class.java)
    `when`(Gdx.graphics.height).thenReturn(dimensions)
    `when`(Gdx.graphics.width).thenReturn(dimensions)
}
Run Code Online (Sandbox Code Playgroud)

以及正在测试的函数(位于的子级的类中Application Listener),

override fun create() {
    ...
    stage = Stage(ScreenViewport())
    ...
}
Run Code Online (Sandbox Code Playgroud)

尝试编译着色器时,Stage内部发生错误。

即,SpriteBatch.java来自com.badlogic.gdx.graphics.g2d

ShaderProgram shader = new ShaderProgram(vertexShader, fragmentShader);
if (shader.isCompiled() == false) throw new IllegalArgumentException("Error compiling shader: " + shader.getLog());
Run Code Online (Sandbox Code Playgroud)

shader.isCompiled()似乎总是为false返回false HeadlessApplication

unit-testing libgdx kotlin

5
推荐指数
1
解决办法
120
查看次数

Google Play上传失败'您上传了可调版的APK'

尝试将我的APK作为Google Play上的alpha版本上传时,我遇到以下消息.

' 你上传了一个可调试的APK.出于安全原因,您需要先禁用调试,然后才能在Google Play中发布."

在我的gradle中,我已经配置了签名配置和构建类型,如下所示:

signingConfigs {
    release {
        storeFile file("PATH TO KEY STORE")
        storePassword "STORE PASSWORD"
        keyAlias "ALIAS"
        keyPassword "PASSWORD"
    }
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        signingConfig signingConfigs.release
        testCoverageEnabled true
        debuggable false
    }
    debug { testCoverageEnabled true }
}
Run Code Online (Sandbox Code Playgroud)

此外,我一直在使用的jarsigner我的APK签署,该CN不确认含有CN=Android Debug.

APK的清单包含该属性android:debuggable.

我构建的应用程序是具有以下依赖项的Kotlin应用程序:

Android支持v13 27.0.2

Android支持注释27.0.2

Android支持约束布局1.0.2

Junit 4.12

Mockito 2.15.0

Robolectric 3.7

Android支持Test Runner 1.0.1

Android支持测试Espresso Core 3.0.1

我试图上传通过gradle命令行生成的APK(即gradle构建)以及使用Build,Gen​​erate Signed …

android google-play

2
推荐指数
1
解决办法
1125
查看次数

标签 统计

android ×1

google-play ×1

kotlin ×1

libgdx ×1

unit-testing ×1