Как предварительно заполнить объекты модели данными теста из файла? - PullRequest
1 голос
/ 26 декабря 2008

У меня есть несколько объектов модели, которые я использую в своем клиентском приложении Java. Позже эти объекты модели будут заполняться / извлекаться из удаленных служб (например, SOAP). Теперь я хочу сделать ручное / автоматическое тестирование внешнего интерфейса перед внедрением этих сервисов. Объекты модели в основном POJO, и я хочу сохранить некоторые тестовые данные в файлах и заполнить их простым способом.

например. имея объект модели School (с именем (String) и учителя (List)) и учителя с фамилией и именем, я хочу сохранить фактические тестовые данные в некотором XML / текстовом файле и создать несколько школ, содержащих учителей из этих данных.

Что вы используете в этой ситуации? Я пока не знаком с TTD, но не могу себе представить, что для этого нет универсальной основы.

[править] Я выбрал Spring для макетирования моих образцов данных / сервисов, но другие альтернативы, упомянутые здесь, также сработали бы.

Ответы [ 4 ]

3 голосов
/ 26 декабря 2008

Походит на хорошее использование сериализации XML. Вы можете использовать любой инструмент XML-сериализации, который вам нравится: XStream и т. Д.

Еще один приятный инструмент - SOAP UI. Если вы укажете на WSDL для вашего сервиса, он создаст для вас запрос XML. Заполните значения и вперед. Их можно сохранить, так что, возможно, это хороший способ создания тестовых случаев.

1 голос
/ 26 декабря 2008

Во-первых, я бы согласился с Duffymo, что XStream и SOAP UI являются жизнеспособными вариантами. Однако я также использовал подход, описанный Томом Хотином, как описано ниже.

Вспомогательный класс создает набор тестовых экземпляров классов модели, некоторые из которых действительны, а некоторые недействительны определенным образом, и создает соответствующие графы объектов. Начальный тестовый пример использует допустимый объектный граф объектов. Последовательные тесты заменяют недопустимые объекты действительными в начальной настройке, проверяя, возвращаются ли соответствующие ошибки.

Вспомогательный класс обеспечивает единую точку управления для создания объектов, содержимое которых соответствующим образом связано со сценариями, необходимыми при тестировании.

1 голос
/ 26 декабря 2008

Почему бы не сохранить тестовые данные в Java? У вас нет лишних этапов, форматов или библиотек для работы. Это быстро, и у вас есть мощь и знакомство с Java на вашей стороне.

1 голос
/ 26 декабря 2008

Вы также можете использовать Spring, чтобы высмеивать ваши удаленные службы и их ответы. В этом случае все, что вам нужно сделать, это загрузить applicationContext, который будет имитировать ваши бэкэнд-системы, отвечая именно на то, что вы хотите для целей тестирования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...