gpt4 book ai didi

android - MalformedJsonException 仅在 Android Emulator 的单元测试期间抛出

转载 作者:太空狗 更新时间:2023-10-29 13:05:13 25 4
gpt4 key购买 nike

我有一个可以打开 JSON 文件的测试套件。测试不会在模拟器 <= API 23 上通过,并且在较新的 API 级别上工作正常。

有两种不同的异常:

com.google.gson.JsonSyntaxException:com.google.gson.stream.MalformedJsonException:第 1 行第 1025 列未终止的字符串 $.ajsonelement

com.google.gson.JsonSyntaxException:java.io.EOFException:输入结束于第 1 行第 1025 列路径 $.ajsonelement

奇怪的是,当我运行应用程序并在模拟器中手动打开这些文件时,这些文件工作正常。

我正在使用 gson,但问题也出现在 Moshi 上。

最佳答案

发现问题。 json 文件位于 moduleName/src/test/resources/configs/ 中。我将它们移动到 moduleName/src/test/assets/configs/

加载它们的代码是:

val assetConfig = InstrumentationRegistry 
.getInstrumentation()
.context
.assets
.open(configFileName)
val scanner = Scanner(assetConfig)
return scanner.useDelimiter("\\Z").next() Charsets.UTF_8))

我将其替换为 Guava 助手:

val assetConfig = InstrumentationRegistry
.getInstrumentation()
.context
.assets
.open(configFileName)
return CharStreams.toString(InputStreamReader(assetConfig, Charsets.UTF_8))

API 18 和 26 之间的所有模拟器都可以正常加载。

关于android - MalformedJsonException 仅在 Android Emulator 的单元测试期间抛出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49231790/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com