Есть ли какой-либо путь к DBUnit для автоматического составления таблиц?

Получение возвращенного массива является довольно легким использованием метода подсписка, но нет никакого простого способа, которым я знаю об удалить диапазон объектов из Списка.

Вот то, что я имею:

<T> List<T> split(List<T> list, int i) {
    List<T> x = new ArrayList<T>(list.subList(i, list.size()));
    // Remove items from end of original list
    while (list.size() > i) {
        list.remove(list.size() - 1);
    }
    return x;
}
23
задан 6 revs, 2 users 55% 23 May 2017 в 10:31
поделиться

3 ответа

Не совсем. Как указано в ответе, который вы связали, XML-файлы dbunit содержат данные, но не типы столбцов.

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

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

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

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

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

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

16
ответ дан 29 November 2019 в 02:48
поделиться

No. Вам нужно будет выполнить сценарий SQL с определениями таблиц в.

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

http://www.dbunit.org/faq.html#ddl

4
ответ дан 29 November 2019 в 02:48
поделиться

Если вы используете JPA, вы обычно можете настроить поставщика JPA так, чтобы он создавал / обновлял таблицы при инициализации.

Например, для гибернации укажите свойство hibernate.hbm2ddl. auto и установите для него значение create-drop (подойдет для тестирования).

См. также: Документация Hibernate, Глава 3 Конфигурация

Однако убедитесь, что провайдер JPA первым доступ к БД;)

2
ответ дан 29 November 2019 в 02:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: