我有一個JPA/Hibernate/Spring/Tomcat Web應用程序啓用二級數據緩存的性能原因。緩存的功能非常好!休眠第二級數據緩存和集成/驗收測試
我也有一個Cucumber測試套件,它將一些測試數據直接添加到應用程序的數據庫,然後執行一些Selenium步驟。當然,它會失敗,因爲應用程序由於第二級緩存而沒有看到更新。
我知道我可以爲緩存禁用進行特殊構建測試(通過爲Maven過濾或類似方法傳遞一些布爾屬性)但是有很多@Cache註釋實體,所以禁用緩存會導致應用程序失敗,級高速緩存未啓用「。
另一種方法是使用ehcache remoting清除緩存或將其配置爲零對象生存期或類似。
我也只能使用應用程序的UI創建我的測試數據,但是這會增加不必要的複雜性測試案例,所以我寧願試運行之前,並寫入到數據庫。
任何人可以分享他們與二級數據緩存集成測試應用程序的方式啓用?
不是所有的,但我的一些BDD測試有以下步驟:創建測試數據,做硒事情,清理。 同意黑盒子,但使用UI創建和清理數據有時非常困難,並且可能使測試彼此依賴(如果與保存有關的UI被破壞,所有其他需要保存的測試也會被破壞) – ike3 2012-04-27 09:10:55
是的,依賴測試會失敗,但主要目的 - 失敗的東西會得到滿足。如果您直接向數據庫填充數據,那麼它本質上不是驗收測試,這不是終端用戶如何使用應用程序。而這樣的測試應該或多或少是粗粒度的。如果您需要更多細粒度的硒,這對Selenium來說可能是一個糟糕的地方。 – 2012-04-27 10:51:29