2016-02-03 57 views
0

我想了解用於測試dao對象的最佳實踐。我有幾個dao對象在獨立的scala應用程序中通過anorm與db進行交互。如何使用ScalaTest測試Dao對象

我想用ScalaTest編寫這些對象的集成測試。它應該在不同的數據庫上運行測試。

+0

像你想要做一個資料庫測試,而不是一個DAO測試這聽起來比較,它的情況? –

+0

我想確保dao方法如果它被稱爲存儲庫測試,然後肯定會按預期工作。也許我使用了錯誤的術語。 –

回答

0

正如您所提到的,這是與數據庫交互的獨立Scala應用程序,您可以使用ScalaMock。 SA本土,開源的Scala嘲諷框架

ScalaMock支持三種不同的嘲弄風格:

功能嘲笑 代理(動態)嘲笑 生成(類型安全)嘲笑

要使用ScalaMock,混合org.scalamock.scalatest.MockFactory到您的套件類,如:

進口org.scalatest.FlatSpec

進口org.s calamock.scalatest.MockFactory

類ExampleSpec與MockFactory延伸FlatSpec與...

+0

它如何幫助測試SQL的東西按預期工作? –

+1

如果您想測試SQL的正常工作,您可能需要對測試引導的數據庫實例進行集成測試。 –

+0

你可以創建一個特性,比方說DAO,它將任何對象持久化到某種數據庫,可能是內存數據庫。由於DAO是一個特性,它的目的是將其混入具有特定類型數據存儲的具體實現的類中。 – Ram