То, что лучше всего, во многом зависит от ваших конкретных потребностей. Однако, как правило, вы стремитесь к тестам, которые выполняются быстро, выполняются в разных средах (не только на вашем компьютере), являются детерминированными и т. Д.
Мне кажется, что вариант # 1, который, вероятно, является самым быстрым для реализации, отрицательно влияет на выполнение теста (доступ к файлу занимает некоторое время), делает выполнение теста зависимым от среды (разрешения для файла, какой каталог ?, кодировка имени файла, ...), может привести к недетерминированному поведению (файл заблокирован из-за запуска параллельного процесса тестирования) и т. д.
В отличие от этого, вариант № 2, вероятно, будет стоить вам больше усилий по реализации на начальном этапе. Однако существуют механизмы, позволяющие сделать его менее дорогостоящим: вы можете реализовать вспомогательные функции для создания типичного содержимого XML, так что эти общие вспомогательные функции могут использовать несколько тестовых примеров и т. Д.