【发布时间】:2017-05-22 05:38:57
【问题描述】:
我有一个 Spring Boot 项目,我使用 org.json 将 XML 映射到 JSON。这在测试环境之外工作得很好,但是当我尝试进行单元测试时,我在 JSONObject 的第一个方法调用上得到 NoSuchMethodError。查看 SO 的其他答案,默认情况下 JSONObject 似乎不可用于单元测试或类似的东西。
如何使用 org.json 和 JSONObject 对类进行单元测试?
【问题讨论】:
-
错误信息表明,编译运行使用了不同版本的库。
-
@Henry 是的,我实际上可以看到该项目在依赖项中有 2 个不同版本的 org.json。但是如何指定在运行测试时使用哪个版本?
-
确保类路径中只有一个版本。
-
@Henry 当我将我选择使用的版本更改为另一个依赖项拖到项目中的版本时,这确实有效。唯一的问题是我必须使用旧版本的 org.json,它没有我在新版本中使用的方法,因此再次失败。
-
实际上,除了修复代码以使其仅适用于一个版本之外,您无能为力。