Я бы порекомендовал использовать анализатор XML для проверки выходных данных вместо текстовых сравнений. Если вы все равно собираетесь анализировать XML-файл, чтобы изменить его порядок, вы можете просто выполнить сравнение с помощью инструментов XML.
Edit:
Попытка управлять сгенерированным XML с помощью манипулирования порядком исходного кода Java кажется хрупким способом ведения дел. Конечно, это только для тестирования, поэтому, если что-то сломается, код все равно может работать правильно. Люди постоянно меняют порядок исходного кода, иногда случайно, и это будет раздражать или неуловимый источник проблем, если вам придется полагаться на определенный порядок.
Что касается способов сравнения данных XML с использованием инструментов XML, лично я никогда не делал этого в больших масштабах, но по этой ссылке упоминается несколько бесплатных инструментов . Для меня расширение JUnit, предоставляющее утверждения, относящиеся к XML, было бы моим первым шагом, поскольку это могло бы хорошо интегрироваться с моими существующими тестами. В противном случае, поскольку вы в основном ищете точную эквивалентность, вы можете просто проанализировать два XML-файла, затем выполнить итерацию по узлам в «ожидаемом» файле и посмотреть, присутствуют ли эти узлы в «фактическом» файле. Затем просто проверьте другие узлы, которые вы не ожидаете увидеть.