Hi Beam developers, There are many Java tests relying on toString() methods for assertions [1]. This style is prone to unnecessary maintenance of the test code when upgrading dependencies. For example, BEAM-8695 encountered ~10 comparison failures due to change in toString implementation when I tried to upgrade google-http-client [2].
On the other hand, constructing expected objects is cumbersome and less readable [3]. Therefore, I'm thinking a better way to write assertions on subclasses of GenericJson in BEAM-9000 "Java Test Assertions without toString for GenericJson subclasses." So far, I wrote 2 options there: - Assertion using Map - Create assertEqualsOnJson If you think of a better way or opinions on how these tests should be, please let me know. [1]: https://github.com/suztomo/beam/commit/314b74b127c1dce9d8de9485aeb31321be8e13c8#r36506354 [2]: https://issues.apache.org/jira/browse/BEAM-8695?focusedCommentId=16999527&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-16999527 [3]: https://github.com/suztomo/beam/commit/314b74b127c1dce9d8de9485aeb31321be8e13c8#r36509217 -- Regards, Tomo
