我有一个类只用于使用Jackson进行字段访问的json序列化,现在我有一个方法需要一些输入并使用setter填充属性来创建该类的实例。 要对此方法进行单元测试,我需要比较该类的每个属性。没有公共吸气剂,它只能通过我试图避免的反射来完成。此外,我不想使用所有属性覆盖该类的equals方法。
如果我添加getter,那么我正在更改该类的api仅用于单元测试。 在这种情况下,最佳解决方案是什么?为什么?任何想法都将受到赞赏。 谢谢。
答案 0 :(得分:0)
或者,您可以测试通常使用的类的形式 - 它的序列化版本。由于serializator是一个可以安全地assume works的组件,所以只需在测试类完成其工作并将结果与引用JSON进行比较后序列化对象。这将间接测试您的类是否正确设置属性。
另一方面,人们可能会争论如何影响添加getter。如果这是自动生成的样板代码,可能最好重新配置生成器以包含getter。如果没有,并且你故意决定不实施getter,它可能应该保持这种方式。