0
我使用Play Framework 2.0 - 給定我有一個PaymentService來訪問數據庫。集成測試服務層播放框架
今天我首先發射測試服務器測試:
// set up and start the fake web application
FakeApplication fakeApp = fakeApplication(inMemoryDatabase());
start(fakeApp);
// get the JPAPlugin through the fake app, and start it
Option<JPAPlugin> jpaPlugin = fakeApp.getWrappedApplication().plugin(JPAPlugin.class);
jpaPlugin.get().onStart();
// then through the JPA plugin, get access to the entity manager
final EntityManager manager = jpaPlugin.get().em("default");
// and bind it in the thread local
JPA.bindForCurrentThread(manager);
JPA.em().getTransaction().begin();
做到這一點我可以開始訪問數據庫,插入前的狀態,執行該服務的方法,並斷言之後(DB)發佈狀態
但是,當我測試服務層僅用於訪問實體管理器時,啓動整個Web服務器(即使它是假服務器)並不合適。
有沒有更智能的方法來集成測試服務層? 來自Spring世界,我認爲應該可以手動創建實體管理器,而不是讓Play服務器爲我們做。
任何幫助/提示/方向表示讚賞。
感謝,就像魅力! – 2014-11-04 14:36:18
我很高興能幫上忙。 – 2014-11-04 15:15:17