0
我想在構建時創建一些JUnit測試。我如何將JSF應用程序連接到數據庫並使測試SQL查詢測試代碼?就我在Netbeans中可以看到的,簡單的測試可以在純Java代碼上完成。我的很多代碼都是SQL查詢,必須測試它們才能獲得正確的結果。如何在JSF應用程序中進行JUnit測試
我想在構建時創建一些JUnit測試。我如何將JSF應用程序連接到數據庫並使測試SQL查詢測試代碼?就我在Netbeans中可以看到的,簡單的測試可以在純Java代碼上完成。我的很多代碼都是SQL查詢,必須測試它們才能獲得正確的結果。如何在JSF應用程序中進行JUnit測試
你應該有一個單獨的DAO層,它具有sql-queries並且不依賴於JSF,在這種情況下,你可以隔離測試以僅測試SQL查詢。然後,您可以爲生成和執行SQL的普通Java類執行測試。我可以推薦嵌入式數據庫和liquibase(或類似的)來填充測試模式和數據預設。
託管bean使用'@Resource(name =「jdbc/Oracle」)private DataSource ds;'從Glassfish調用Oracle。我可以以某種方式配置它來調用我的第二個將使用DAO的數據源? –
在單元測試中,@Resource不起作用,您將不得不手動設置相應的屬性。在測試中,您可以使用內存數據庫來模擬數據訪問,也可以爲DataSource創建模擬。我會採用第一種方法。這並不困難 – chkal
@PeterPenzov'@ Resource'可以手動注入,也可以使用IoC容器,如Guice或Spring-test。它是輕量級的,因此在測試設置期間很容易準備環境。 – kan