О тесте Junit с базой данных - PullRequest
0 голосов
/ 08 декабря 2011

Я пытаюсь выполнить junit на машине qa, где база данных не установлена, и мы не можем подключиться к базам данных на другой машине.Могу ли я спросить, есть ли способ насмехаться над базой данных в junit?Как мы тестируем с помощью hadoop.Спасибо!

Ответы [ 4 ]

1 голос
/ 09 декабря 2011

На самом деле использование hsql может быть очень полезно в тесте:)

1 голос
/ 08 декабря 2011

Попробуйте локальную базу данных, такую ​​как Hypersonic или Derby.

0 голосов
/ 11 июля 2019

Ваш единственный вариант - использовать h2database. Просто добавьте следующую зависимость к вашему pom.xml

<dependency>
  <groupId>com.h2database</groupId>
  <artifactId>h2</artifactId>
  <version>1.4.194</version>
</dependency>

Добавьте application.properties в тестовую папку в вашем весеннем загрузочном проекте. (Spring будет сначала искать файл свойств в папке test во время выполнения тестов Junit)

Просто замените все параметры БД на следующие значения:

spring.az.datasource.url=jdbc:h2:mem:myDb;DB_CLOSE_DELAY=-1

spring.az.datasource.drive-class-name=org.h2.Driver

В ваших тестовых файлах с использованием аннотаций @BeforeClass (Junit 5) или @BeforeAll (Junit 4) создайте базу данных, идентичную вашей рабочей базе данных.

@Autowired
AzDataConfiguration azData;

@Before
public void setUp() {
    jt = new JdbcTemplate(azData.azdataSource());
    jt.execute(Constant.creatAzureTable);
}

Пожалуйста, обратитесь за подробностями: https://docs.spring.io/spring/docs/1.2.x/reference/jdbc.html

0 голосов
/ 08 декабря 2011

Наверное, нет. Вы можете использовать действительно простую базу данных, такую ​​как H2, вместо Oracle или MySQL.

...