Манипулирование IDataSet в DBunit

Я использую IDataSet для чтения из файла XML и записи в свою базу данных, чтобы я мог запустить тест Junit для своей базы данных. проблема в том, что мой senario становится все сложнее, и мне нужно изменить данные в базе данных в середине теста.

Я искал способ изменить данные IDataSet без чтения из XML-файла и записи в базу данных, поэтому мне не нужно создавать пару огромных XML-файлов только для того, чтобы изменить одну строку!

мой код в настоящее время что-то вроде этого

IDataSet dataSet  = new XmlDataSet(fileStream);
DatabaseOperation.CLEAN_INSERT.execute(jdbcConnection, dataSet);

Заранее большое спасибо

2 ответа

Решение

Я попытаюсь

ReplacementDataSet rds = new ReplacementDataSet(ds);

rds.addReplacementObject(John, Tom );

Я думаю, что если поля будут уникальными, это сработает!

Обычно необходимость изменения данных в середине теста подразумевает, что тест на самом деле является более чем одним тестом; следующий тест начинается в точке изменения необходимых данных.

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

Другие вопросы по тегам