Массовая настройка данных для юнит-тестов - PullRequest
2 голосов
/ 27 сентября 2010

Я разработал приложение для Spring MVC, которое занимается массовой вставкой / обновлением данных.Например: есть несколько вариантов использования, которые вставляют запись с 100-125 атрибутами.

Для массовой вставки данных я жестко кодирую значения, которые нужно вставить в мой класс модульных тестов.У меня есть Transfer Object для переноса данных, поэтому я заполняю эти TO в моих тестовых случаях и затем вызываю нужную операцию для тестирования.Для каждого DAO для модульного тестирования операций CRUD требуется не менее 4 тестовых случаев.

Мне очень трудно заполнять TO, жестко кодируя значения в исходном файле моего тестового примера.Написание изображений 125 сеттеров для каждого тестового случая.Я хочу динамически заполнять свои TO, читая данные из файла XML или любого другого носителя, чтобы мне не приходилось каждый раз менять жестко запрограммированные данные для тестовых случаев.

Настройка данных в файле XMLэто намного проще, чем жесткое кодирование значений в исходных файлах JUNIT.

Я мог бы подумать о некоторых инновационных решениях, таких как настройка данных в XML-файле и затем использование любой реализации JAXB для чтения того же самого и заполнения TOs ... но я считаю, что есть много простых и лучших способов справиться с этимсвоего рода требование.

Нужна помощь в этом.

Ответы [ 3 ]

1 голос
/ 04 октября 2010

Imaging, пишущий 125 сеттеров для каждого модульный тестовый кейс.

Вам нужны вспомогательные методы тестирования, которые заботятся о данных теста. Затем вы вызываете соответствующий метод, который заполняет TO: это может быть всего 0 параметров (полностью случайный / фиксированный, не управляемый тестом) или целых 125 (полностью контролируемых тестом) (и все что между ними). ​​

В любом случае в тестах больше нет сеттеров.

1 голос
/ 23 ноября 2010

Я не уверен насчет фреймворков для модульного тестирования Java. Но в DotNet есть библиотека NBuilder, которая помогает вам легко и быстро создавать тестовые данные. Вот блог , который я написал, чтобы продемонстрировать его возможности.

Может быть, вы можете попытаться узнать, существует ли альтернатива NBuilder для Java или существует ли такой же порт в Java. Большинство библиотек DotNet, которые я нахожу, портированы из мира Java, таких как NHibernate, Spring.Net и т. Д. Поэтому я предполагаю, что у вас также может быть Java-эквивалент NBuilder.

1 голос
/ 27 сентября 2010

Может быть, вы могли бы использовать этот фреймворк:

http://jtestcase.sourceforge.net

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