当前位置: 首页 > 知识库问答 >
问题:

Spring boot test H2 sql脚本未加载

叶冥夜
2023-03-14

因此,我在尝试为模式和数据加载。sql脚本时遇到了问题。

脚本位于“src/test/resources”文件夹中。POM中的H2依赖项:

<dependency>
    <groupId>com.h2database</groupId>
    <artifactId>h2</artifactId>
    <scope>test</scope>
</dependency>

当我输入注释“@sql(脚本={”/schema.sql“,”/data.sql“})时,我会看到下一个错误:

java.lang.IllegalStateException:未能执行测试上下文的SQL脚本[DefaultTestContext@7090EAEC testClass=MicroserviceControllerTest,testInstance=sche.invm.backend.rke.asn2019.get.controller.MicroserviceControllerTest@180274b1,testMethod=testGetPerson@MicroserviceControllerTest,testException=[webmergedContextConfiguration@5158e446 testClass='[]',activeProfiles=‘{test}’,propertySourceLocations=‘{{}’,propertySourceProperties=‘{org.springframework.boot.test.context.springboottestContextBootstrapper=true,server.port=0}“,contextCustomizers=set[org.springframework.boot.test.context.filter.excludeFilterContextCustomizer@30bbcf91,.test.mock.mockito.mockitoContextCustomizer@0,org.springframework.boot.test.web.client.testresttemplateContextCustomizer@31834a2b,org.springframework.boot.test.autoconfigure.propertymappingContextCustomizer@0,org.springframework.boot.test.autoconfigure.propertyMappingContextCustomizer@0,e],resourceBasePath='src/main/webapp',contextLoader='org.springframework.boot.test.context.springbootcontextLoader',parent=[null]],attributes=map['org.springframework.test.context.web.servletTestExecutionListener.activateListener'->false]]:无法从事务管理器[org.springframework.orm.jpa.jpatransactionManager](命名

这可能是什么错误?我的应用程序是用multitenant配置的,我不知道这是否会导致这个特殊的错误。

共有1个答案

邹缪文
2023-03-14

另外一点是,因为我的服务是multitenant,所以我必须在我的属性文件中配置,除了multitenant的url,还有spring.datasource的url(这是因为我的multitenant url是以下jdbc:h2:mem:testdb,但是db h2以jdbc:h2:mem:718e98df-3d08-46de-99e3-6ec4dc725293的方式设置url,所以脚本在这个db中执行,而另一个db没有这些表)。

我希望它被理解(我的英语不是最好的)

这是我的测试属性文件的一部分:

spring.datasource.url:jdbc:h2:mem:testdb;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE
spring.datasource.username= sa
spring.datasource.password= 

#multitenant datasources
datasources.0.tenant=CL
datasources.0.url=jdbc:h2:mem:testdb;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE
datasources.0.username=sa
datasources.0.password=
 类似资料:
  • 问题内容: 我想从CDN加载脚本,然后在React中执行该脚本公开的功能: 该脚本有时需要花费一些时间(通常是第一次)加载,并且何时调用“ foo”不可用,并且出现如下错误: TypeError:无法读取未定义的属性“ render” 如何确保脚本成功加载后调用? 问题答案: 根据React Component Specs和Lifecycle的说法,我认为在componentWillMount()

  • 问题内容: 我正在使用jquery地址插件来加载页面,但是没有hash(#)。 index.html: page.html: 在#content div中将从page.html中加载#content html(也许我应该使用其他函数,而不是.html(),请纠正我),因为div是script标签,但是加载该页面时我没有收到警告从ajax开始,无需加载ajax就可以运行。有人能帮我吗 ? 编辑:当我

  • 问题内容: 我正在使用JQuery的几个插件,自定义窗口小部件和其他一些库。结果,我有几个.js和.css文件。我需要为网站创建一个加载器,因为加载需要一些时间。如果可以在导入所有内容之前显示加载程序,那就太好了: 我找到了一些教程,这些教程使我能够异步导入JavaScript库。例如,我可以做类似的事情: 由于某种原因,当我对所有文件执行相同操作时,页面将无法正常工作。我已经尝试了很长时间,试图

  • 我需要帮助。我正在创建一个项目,但在使用模板时遇到问题。我为标题和菜单创建了一个组件。菜单是一个侧边栏,在打开页面时隐藏。只有在登录后,菜单才会出现。但是javascript在那之后就不起作用了。 每当我进入登录屏幕时,我都会隐藏导航栏和侧边栏,当它出现并再次显示时,脚本将不再工作。当我去查看检查器时,脚本从元素中消失。

  • 问题内容: 我有一个名为“ gcc_opt.pyw”的Python脚本,并将其目录包含在Windows PATH环境变量中。 但是不会将单个命令行参数传递给脚本。打印出sys.argv会告诉我argv列表中只有文件名。 该命令: 结果是 你能告诉我为什么没有其他论点吗? 我不知道它是否重要,但是我将python.exe设置为执行.pyw文件的默认程序,因为我看不到使用pythonw.exe的任何打

  • 网站联系人表单中有验证码,我想测试同一页面。我已经开发了同样的自动化脚本,并将等待置于验证码之前,这样用户就必须手动输入验证码,然后脚本就会转到发送按钮。 我的问题是,当联系人表单页面加载时,它没有加载验证码图像,而我们手动导航,它工作正常。这背后的原因和解决方案是什么。