junit - Activiti:单元测试失败行为
问题描述
我正在为基于 activiti 的代码运行单元测试。我面临非常奇怪的行为。
我有两个单独的测试文件,并且两个测试都有几乎相似的代码。两者都以:
ProcessEngine processEngine = ProcessEngineConfiguration
.createStandaloneProcessEngineConfiguration()
.buildProcessEngine();
奇怪的是,其中一项测试成功完成。但另一个失败并出现错误:
org.h2.jdbc.JdbcSQLException:连接断开:“java.net.ConnectException:连接被拒绝:连接:本地主机”
一项测试始终通过,而另一项测试始终因此错误而失败。
这种行为的原因是什么?
PS:我发现了一个不同之处。失败的代码调用“createStandaloneProcessEngineConfiguration”,而传递代码调用“createStandaloneInMemProcessEngineConfiguration”。
解决方案
这个问题与您的数据库设置有很大关系。createStandaloneInMemProcessEngineConfiguration
- 将使用 spring 配置为您创建一个内存数据库,因此您不必担心它的配置。但是,当您使用createStandaloneProcessEngineConfiguration
它时,它会查找外部数据库的配置(应该已经设置并运行)。当它没有找到这样的配置时,引擎会抛出你提到的异常。
推荐阅读
- postgresql - AND 的参数必须是布尔类型,而不是 postgresql 中的整数类型
- javascript - 如果我选择了第一个下拉菜单,下拉值会发生变化
- python - 将活性探针添加到 Rest API
- r - 如何返回在短信中使用禁止词的学生的 ID(更新)
- magento2 - 保存产品后丰富的片段是可以的,但几分钟后失败,M2.3.4
- c# - C# 将 COM 引用添加到类库
- spring-data - 如何在spring mongodb中按一个字段分组并返回每组另一个字段中具有最大值的行?
- java - 在运行时交换 Jackson 自定义序列化器/反序列化器
- javascript - 在 ThreeJs 中使用按钮的 3d 对象移动
- python-3.x - 在python中定义矩阵时放置常量