[英]Spring boot @DataJpaTest configured with Oracle database not fetching data
我是Spring Boot的新手。 我正在嘗試為Spring Boot存儲庫配置Junit測試。 以下是代碼段和配置。
@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。
請讓我知道我的配置是否正確。 任何及時的幫助表示贊賞!
因為daoAddress.getAddress()沒有返回任何內容,所以它輸出0。 您可以放置調試指針並進行檢查。
因此對於測試,您需要在測試方法中編寫斷言並檢查正確的輸出示例:
assertTrue("A/Wing",daoAddress.getAddress());
接下來,您可以為dao類自動接線,也可以使用mokito進行測試
https://www.mkyong.com/spring-boot/spring-boot-junit-5-mockito/
該鏈接將幫助您了解春季的測試。
您需要正確@Autowire daoAddress bean到您的測試類中,以便正確建立連接。 如果已啟用日志記錄,請也共享日志記錄器輸出。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.