首页 > 解决方案 > Activiti:单元测试失败行为

问题描述

我正在为基于 activiti 的代码运行单元测试。我面临非常奇怪的行为。

我有两个单独的测试文件,并且两个测试都有几乎相似的代码。两者都以:

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

奇怪的是,其中一项测试成功完成。但另一个失败并出现错误:

org.h2.jdbc.JdbcSQLException:连接断开:“java.net.ConnectException:连接被拒绝:连接:本地主机”

一项测试始终通过,而另一项测试始终因此错误而失败。

这种行为的原因是什么?

PS:我发现了一个不同之处。失败的代码调用“createStandaloneProcessEngineConfiguration”,而传递代码调用“createStandaloneInMemProcessEngineConfiguration”。

标签: junitactiviti

解决方案


这个问题与您的数据库设置有很大关系。createStandaloneInMemProcessEngineConfiguration- 将使用 spring 配置为您创建一个内存数据库,因此您不必担心它的配置。但是,当您使用createStandaloneProcessEngineConfiguration它时,它会查找外部数据库的配置(应该已经设置并运行)。当它没有找到这样的配置时,引擎会抛出你提到的异常。


推荐阅读