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

无法使用从服务到DAO的实际DB连接为Spring Boot应用程序编写测试用例

钮才哲
2023-03-14

有人能告诉我,如何用实际的DB连接为Spring Boot应用程序编写JUnit测试用例吗?

我的意思是,当我们右键单击src/Test/java中的@testclass,然后单击runasjunittest,我们需要自动连接我们在src/main/java中开发的所有服务和DAO bean,控制应该从@Test类流向服务,服务流向DAO,查询应该使用@PersistenceContext Entitymanager执行,并成功返回所需结果。

堆栈规范

Spring靴1.5。10 JPA

请帮帮我。。。

共有1个答案

宗政学
2023-03-14

您可以首先参考SpringBootTest的留档

Spring Boot测试工具允许您将应用程序切片,单独测试,并将应用程序作为一个整体进行测试。如果您想专注于数据库测试,请考虑使用@DataJpaTest。

至于数据库:在测试期间使用内存数据库(如H2)是更常见的情况。但是,如果您想针对真实数据库进行测试,请查看TestContainers或它的特定实现(TestContainerSpringBoot)

 类似资料:
  • 我们有一个ASP经典Web应用程序在Azure应用服务中成功运行,该应用程序当前使用SQL服务器身份验证来访问AzureSQL数据库。我们需要将身份验证更改为Active Directory用户。我们设法使此应用程序从访问AzureSQL数据库的开发人员工作站工作,请参阅下面的工作和不工作。 *不适用于桌面,也不适用于Azure Conportail。打开"提供商=SQLOLEDB;服务器=tcp

  • 我有一个应用类 我有控制器课 并且,我想为Application test编写一个测试用例,以确保创建的实例类型为HelloController 但是,我在自动连接 hello控制器变量时遇到错误(找不到 hello 控制器类型的 bean)。根据我的理解,@SpringBootTest应该创建上下文并返回一个实例。我们不需要编写任何上下文 xml 或使用任何注释Config 类来获取实例。缺少了

  • 尝试使用主连接字符串和用户名(数据库名)连接到cosmosdb Mongo API 原因:com.mongodb.mongotieoutexception:在等待与com.mongodb.client.internal.mongoclientdelegate$1@3C291AAD匹配的服务器时,在30000 ms后超时。群集状态的客户端视图是{type=replica_set,servers=[{

  • 如何为RestController,Service和DAO层编写JUnit测试用例? 我试过 如何验证rest控制器和其他层中的CRUD方法?

  • 我的grails 2.1.0应用程序是在cloudfoundry中部署和运行的,使用mysql服务,昨天我做了一些更改,更新后无法再次运行。我没有对数据源进行任何更改。 通过查看tomcat日志,看起来数据库设置在部署时没有被覆盖,如文档中所述,并且存在一个异常消息“无法为连接URL“JDBC:h2:prodDb;MVCC=TRUE”创建类为“com.mysql.JDBC.driver”的JDBC

  • 我正在尝试为我创建的spring服务应用程序编写JUnit测试用例。我已经完成了应用程序的冒烟测试,并期待着编写一系列单元测试。 我从测试服务层开始。我遇到了@AutoWired组件的问题,包括我的DAO对象。当运行Spring应用程序本身时,一切正常。但是,当运行我的JUnit测试时,它们不会自动连线并保持为null,从而导致NPE。以下是我正在处理的工作的框架: 服务文件: 测试文件: 当运行