Java 支持 json 测试吗?

标签 java json unit-testing

<分区>

我在我的项目中使用 morphia(mongodb 的 ODM)并在我的模型上写下它的注释。
我想编写单元测试来验证映射。
我可以调用映射器,使用 morphia.getMapper().toDBObject(input) 并对输出运行测试。
例如,对于模型

汽车:

@Property("COLOR")
String color;
@Property("PlaTE")
int plate;
@Property("seats")
int seats;

我希望收到输出:

{ "COLOR" : "value", "PlaTE" : 111, "seats" : 4 }

为了测试它,我需要创建一个字符串来表示这个输出,在 java 中这是一场噩梦......

String expected = "{ \"COLOR\": \"value\", \"PlaTE\": 111, \"seats\" }";

你可以看到嵌入对象和数组会变得多么丑陋...

我曾考虑将输出写入json 文件并在测试期间读取它,但它有点违反单元测试规则...
有什么方便的方法可以在 java 中表示 json 对象以实现整洁干净的单元测试?

最佳答案

如果您正在寻找一种方法来测试您的 RESTful 端点(JSON 或 XML),我会推荐 http://rest-assured.io/我已经在许多项目中使用过它,它很棒。他们也有出色的文档:https://github.com/rest-assured/rest-assured/wiki/Usage

关于Java 支持 json 测试吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42374231/

相关文章:

java - Libgdx Android 应用程序在启动时崩溃

java - 这是在 Google Cloud Datastore 中使用 Java 按键查询的正确方法吗?

java - 根据多个键对 map 列表进行排序

javascript - 使用 ReactJS 合并数组元素的属性

python - 如何使用 unittest.mock 在单元测试中模拟任意 ConfigParser 调用

java - 使用嵌入式 Jetty 7 发布 JAX-WS 端点

jQuery 的 getJSON 不保持原始顺序

ruby-on-rails - 在 Rails 4 中格式化我的 JSON 输出

C# 单元测试,使用 zip 文件中的 XML

java - 如何测试基于ajax的网站?