簡體   English   中英

J 單元測試用例

[英]J Unit Test Cases

jdbcTemplate.query(searchQueryHelper.generateSearchQuery(searchRequest), resultSet -> {
        products.add(searchResultMapper.searchResultSetMapper(resultSet));
});

如何為此編寫 J 單元測試用例。

這取決於您要測試的內容:

單元測試只會檢查調用是否使用正確的參數完成,因此可以防止意外更改。 為此,您有必要不要實例化在new調用中使用的任何局部變量,而是將它們作為參數注入或傳遞到測試方法中。

單元測試中,您不測試其他類(甚至第三方庫)的調用方法是否正常工作——您只需測試被測方法的實現。

為了驗證與其他類的交互,我建議使用 mocking 庫,如Mockito - 雖然這有點爭議,因為有一條規則“不要模擬你不擁有的類型”,但這實際上取決於具體場景. (並且不要模擬正在測試的 object - 一個常見的初學者錯誤。)

您也可以編寫一個集成測試,但這需要更多的努力:您需要為測試設置一個數據庫,包括必要的測試數據,然后配置代碼以使用該測試數據庫,調用方法,驗證結果從方法中(如有必要,也在數據庫中),然后刪除數據庫或將其設置為預測試 state。

當您在這里使用 JDBC 時,您可能需要使用與生產相同的數據庫引擎 - 具有更高級別的抽象,如 JPA 或 Hibernate 你可以使用替代的內存引擎,如Apache DerbyH2 - 這些通常是由於不需要磁盤訪問,安裝和拆卸速度更快。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM