Activiti: поведение при сбое модульного теста

#junit #activiti

#junit #activiti

Вопрос:

Я запускаю модульные тесты для кода на основе activiti. Я сталкиваюсь с очень странным поведением.

У меня есть два отдельных тестовых файла, и тест в обоих имеет почти одинаковый код. Оба начинаются с:

 ProcessEngine processEngine = ProcessEngineConfiguration
        .createStandaloneProcessEngineConfiguration()
        .buildProcessEngine(); 
  

Как ни странно, один из тестов успешно завершен. Но другой сбой с
ошибка:

org.h2.jdbc.JdbcSQLException: Соединение разорвано: «java.net.ConnectException: Соединение отклонено: connect: localhost»

Один тест всегда проходит, в то время как другой всегда завершается с этой ошибкой.

Что может быть причиной такого поведения?

PS: я заметил разницу. Сбой кода вызывает ‘createStandaloneProcessEngineConfiguration’ при передаче кода вызывает ‘createStandaloneInMemProcessEngineConfiguration’.

Ответ №1:

Эта проблема во многом связана с настройкой вашей базы данных. createStandaloneInMemProcessEngineConfiguration — создаст для вас базу данных в памяти, используя конфигурацию spring, поэтому вам не придется сильно беспокоиться о ее конфигурации. однако при использовании createStandaloneProcessEngineConfiguration он просматривает конфигурацию для внешней базы данных (которая уже должна быть настроена и запущена). когда он не находит такую конфигурацию, движок выдает исключения, как вы упомянули.