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

用Oracle数据库配置的Spring boot@DataJpaTest未获取数据

西门淮晨
2023-03-14

我是Spring Boot的新手。我正在尝试为Spring Boot Repository配置JUnit Test。以下是代码片段和配置。

@RunWith(SpringRunner.class)
@DataJpaTest
@AutoConfigureTestDatabase(replace=Replace.NONE)
@ContextConfiguration(classes= ObjectAddressDaoImpl.class, loader=AnnotationConfigContextLoader.class)
@EnableAutoConfiguration(exclude=AutoConfigureTestDatabase.class)
@TestPropertySource("/application.properties")
public class AddressTest{

   @Autowired
   private AddressDao daoAddress;

   @Test
   public void testGetAddresses() {
     List<AddressEntity> addresses = daoAddress.getAddresses(99L);
     System.out.println("Addresses : " + addresses.size());
   }
}

application.properties

spring.datasource.driver-class-name=oracle.jdbc.OracleDriver
spring.datasource.url=jdbc:oracle:thin:@IP:Port:schema
spring.datasource.username=abcs
spring.datasource.password=abcs

spring.profiles.active=oracle

spring.jpa.database-platform=org.hibernate.dialect.Oracle10gDialect
spring.jpa.hibernate.ddl-auto=validate

当我运行测试时,它打印0。

如果我的配置正确,请告诉我。感谢任何及时的帮助!

共有2个答案

尹光辉
2023-03-14

它打印0,因为DAO地址。getAddress()未返回任何内容。您可以放置一个调试指针并检查它。

因此,对于测试,您需要在测试方法中编写断言,并检查正确的输出示例:-

assertTrue("A/Wing",daoAddress.getAddress());

接下来你可以自动装配你的道类,也可以使用mokito进行测试

https://www.mkyong.com/spring-boot/spring-boot-junit-5-mockito/

此链接将帮助您了解Spring考试。

夹谷衡
2023-03-14

您需要将daoAddress bean正确地@Autowire到您的测试类中,以便正确地建立连接。如果已启用日志记录,请共享记录器输出。

 类似资料:
  • 问题内容: 我正在尝试创建一个用于在PHP上执行oracle sql语句的类。 这是我的index.php,我正在尝试调用我的函数 和我的dbcontrol.php用于我的功能 我不确定似乎有什么问题。但是每次我运行这个。页面上未显示任何内容。没有结果,没有数据。但是我确信数据库中有数据。 问题答案: 您总是得到空白页的原因是: oci_num_rows()函数不会返回您可能认为的所选行数。它返回

  • 我的OBIEE12c配置在继续12%后失败。OBIEE版本:12.2.1.4Oracle数据库版本:19c 堆栈跟踪:

  • 我刚开始使用springboot,我一直在尝试用它和spring security来配置一个项目,但不幸的是,我无法运行它。我得到了下一个错误: 嵌套的异常是org。springframework。靴子自动配置。jdbc。DataSourceProperties$DataSourceBeanCreationException:未能确定合适的驱动程序类 应用程序无法启动 描述: 配置DataSour

  • springboot 配置多源数据库问题。 测试了一下springboot配置多源数据库,mysql和postgresql,yml配置如下: 运行程序,出现如下错误: …… 9:30:59:048] [INFO] - org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.prepareWebA

  • 我正在使用带有Spring Boot(2.3.3版)的H2数据库和H2数据库的所有默认设置。 这是我申请的所有文件。 pom.xml

  • 新建数据库 在本地新建一个数据库 demo 打开common/config/main-local.php 修改数据库配置 'components' => [ ... 'db' => [ 'class' => 'yii\db\Connection', 'dsn' => 'mysql:host=localhost;dbna