我是 Spring Boot 的新手。我正在嘗試為 Spring Boot Repository 配置 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.propertiesspring.datasource.driver-class-name=oracle.jdbc.OracleDriverspring.datasource.url=jdbc:oracle:thin:@IP:Port:schemaspring.datasource.username=abcsspring.datasource.password=abcsspring.profiles.active=oraclespring.jpa.database-platform=org.hibernate.dialect.Oracle10gDialectspring.jpa.hibernate.ddl-auto=validate當我運行測試時,它打印 0。如果我的配置正確,請告訴我。任何及時的幫助表示贊賞!
2 回答

嗶嗶one
TA貢獻1854條經(jīng)驗 獲得超8個贊
您需要將 daoAddress bean 正確地@Autowire 到您的測試類中,以便正確建立連接。如果已啟用日志記錄,請同時共享記錄器輸出。

皈依舞
TA貢獻1851條經(jīng)驗 獲得超3個贊
它打印 0 因為 daoAddress.getAddress() 沒有返回任何東西。你可以放一個調試指針并檢查它。
因此,對于測試,您需要在測試方法中編寫斷言并檢查正確的輸出示例:-
assertTrue("A/Wing",daoAddress.getAddress());
接下來你可以自動裝配你的dao類,你也可以使用mokito進行測試
添加回答
舉報
0/150
提交
取消