Запуск SQL-скрипта из JUnit

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

Я пробовал использовать токенизатор, который добавлял каждую команду SQL в пакет, а затем выполнял их. Но я не могу приступить к работе. Итак, мой вопрос: есть ли в JUnit какой-нибудь стандартный метод для выполнения этого действия?

ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
1
0
4 525
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Можете попробовать DbUnit

DbUnit is a JUnit extension (also usable with Ant) targeted at database-driven projects that, among other things, puts your database into a known state between test runs. This is an excellent way to avoid the myriad of problems that can occur when one test case corrupts the database and causes subsequent tests to fail or exacerbate the damage.

DbUnit has the ability to export and import your database data to and from XML datasets. Since version 2.0, DbUnit can also work with very large datasets when used in streaming mode. DbUnit can also help you to verify that your database data match an expected set of values.

Ответ принят как подходящий

В задачу JUnit не входит проверка операторов SQL.

Вы должны создать Mocker (например, EasyMock) и изолировать соединение. Таким образом, mocker может имитировать sql-соединение и его результаты. С помощью этого имитационного объекта вы можете проверить, вызвал ли ваш класс коннектора sql правильные операторы.

Если вы хотите протестировать оператор SQL, его результаты и т. д., Вы должны использовать DBUnit, как сказал Аарон.

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