Unit testing 我应该在仅用于json序列化的类中为单元测试添加getter吗

Unit testing 我应该在仅用于json序列化的类中为单元测试添加getter吗,unit-testing,Unit Testing,我有一个类,它只用于json序列化,使用Jackson进行字段访问,现在我有了一个方法,该方法接受一些输入并创建一个该类的实例,该类的属性使用setter填充。 为了对这个方法进行单元测试,我需要比较这个类的每个属性。如果没有公众的积极性,这只能通过我试图避免的反思来实现。另外,我不想使用所有属性重写该类上的equals方法 如果我添加getter,那么我只是为了单元测试而更改该类的api。 在这种情况下,最好的解决方案是什么?为什么?对此有任何想法都将不胜感激。 谢谢 或者,您可以像通常使用的

我有一个类,它只用于json序列化,使用Jackson进行字段访问,现在我有了一个方法,该方法接受一些输入并创建一个该类的实例,该类的属性使用setter填充。 为了对这个方法进行单元测试,我需要比较这个类的每个属性。如果没有公众的积极性,这只能通过我试图避免的反思来实现。另外,我不想使用所有属性重写该类上的equals方法

如果我添加getter,那么我只是为了单元测试而更改该类的api。 在这种情况下,最好的解决方案是什么?为什么?对此有任何想法都将不胜感激。
谢谢

或者,您可以像通常使用的那样测试类的形式—它的序列化版本。由于serializator是一个您可以安全地使用的组件,所以只需在测试类完成其工作并将结果与引用JSON进行比较后序列化对象即可。这将间接测试类是否正确设置了属性

另一方面,有人可能会争论添加getter的影响有多大。如果这是一种自动生成的样板代码,那么最好将生成器重新配置为包含getter。如果不是,并且您故意决定不实现getter,那么它可能应该保持这种方式