【发布时间】:2017-02-21 17:38:43
【问题描述】:
我在我的项目中使用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对象来实现整洁干净的单元测试?
【问题讨论】:
-
stackoverflow.com/questions/2253750/… 进入您拥有的各种选项。
-
为了更清楚,我的意思是用一种简单的方法来编写和读取(用人眼)json,就像在 JavaScript 中一样。我想除了单独的 json 文件别无他法......
-
好吧,既然这两个(非常相似的)问题的答案都是“否”,那么我猜这是重复...
-
看看Karate,它有你要找的一切,还有更多。 (免责声明:我是开发者)。
-
@aha IMO 这不是重复的。原因是这个问题专门针对在 Java 中测试 JSON。
标签: java json unit-testing