Я использую Jaxb 2.0 api без использования XSD и создал модель контента с помощью аннотаций. Я хочу написать тест Junit для класса, который выполняет сортировку. Мой первоначальный план состоял в том, чтобы сравнить ожидаемую строку XML с фактической для утверждения (наиболее очевидный выбор). Но я нахожу, что marshalling создает xml, где порядок свойств/атрибутов не предсказуем (на самом деле я не знаю, что является порядком по умолчанию). Теперь, если это так, я не могу принять предопределенную строку xml, а затем сравнить ее с маршаллированной. Другой способ, который я думал о утверждении класса маршаллера, был следующим:
1-Создать модель содержимого.
2-Маршалл это.
3-Unmarshall xml, созданный на шаге 2, чтобы получить модель.
Утверждение 4-Do на основе модели на шагах 1 и 3 для свойств/атрибутов.
Но я до сих пор не считаю это удовлетворительным. Каким будет правильный способ написать тест Junit для сортировки в этом сценарии?
Хотя фактическое приложение, которое использует marshalled xml, не зависит от порядка свойств/атрибутов xml, но тест Junit кажется сложным.
Спасибо