Мой вопрос:
В JUnit, как мне настроить данные xml для моей тестируемой системы (SUT), не заставляя SUT читать из XML-файла, физически хранящегося в файловой системе.
Фон:
Мне дают файл XML, который содержит правила для создания счета. Моя работа состоит в том, чтобы преобразовать эти правила из XML в объекты Java, например. Если в моем XML-файле есть тег, как показано ниже, который указывает, что по истечении 30 дней транзакция не может быть выставлена в счет
<ExpirationDay>30</ExpirationDay>
это преобразуется в класс Java, скажем, ExpirationDateInvoicingRule
У меня есть класс InvoiceConfiguration, который должен взять файл XML и создать объекты *InvoicingRule. Я думаю об использовании StAX для анализа XML-документа в InvoiceConfiguration.
Проблема:
Я хочу провести модульный тест InvoiceConfiguration. Но я не хочу, чтобы InvoiceConfiguration физически читала xml-файл в файловой системе. Я хочу, чтобы мой модульный тест не зависел от любого физического сохраненного XML-файла. Я хочу создать xml-представление в памяти. Но синтаксический анализатор StAX принимает только FileReader (или я могу играть с файловым объектом)