2016-01-28 26 views
0

現在我將我的應用程序更新到Play 2.4和Slick 3. 要測試應用程序,我使用Scalatest和幾個測試套件。在Play 2.2,Slick 3和HikariCP池中使用Scalatest的順序測試套件錯誤db

接下來的問題。正確執行首先測試套件,但第二個碰撞與下一個錯誤:

測試開始於6:29 ...

2016年1月28日6點29分51秒記錄器配置在conf文件已經過時並沒有效果。改用一個logback配置文件。 2016-01-28 06:30:00 Slf4jLogger開始 2016-01-28 06:30:01在測試模式下加載測試數據 2016-01-28 06:30:01等待測試數據被插入 2016- 01-28 06:30:05 HikariCP池db正在啓動。 2016-01-28 06:30:08完成測試數據處理 2016-01-28 06:30:12 HikariCP池數據庫正在關閉。

任務[email protected][email protected] [終止,池大小= 0,活動線程= 0拒絕,排隊任務= 0,完成的任務= 3] java.util.concurrent.RejectedExecutionException:任務[email protected][email protected]中被拒絕[Terminated,pool size = 0,active threads = 0,queued任務= 0,已完成的任務= 3] ..........

我做的小項目,讓看到的問題: https://github.com/DmitryIvanovIAMM/test

有趣的是,對於第二個測試套件,應用程序正確地初始化模型,但是在此之後關閉了HikariCP池數據庫並且出現錯誤。 我看到類似的問題(f.e. https://github.com/playframework/play-slick/issues/345),但無法弄清楚在我的情況下如何解決問題。

感謝您的幫助!

回答

0

我找到了解決辦法,由於最後的評論在http://57f4dad48e7a4f7cd171c654226feb5a.proxysheep.com/questions/33223303/scala-play-slick-rejectedexecutionexception-on-scalatest-runs

我重構的DAO對象情況下測試應用程序開始工作類和測試。

但在實際應用中存在相同的錯誤,因爲控制器也是對象。實際上,由DAO創建的數據庫請求是正確的,這些請求是由控制器完成的,並提供了上述錯誤。因此,在實際的應用程序中,我將所有數據庫查詢移動到DAO,所有測試套件都正確無誤。

相關問題