[英]How to do integration test on MongoDB Connection in play framework using Java
我想對我的項目進行集成測試,以測試模式將一些數據存儲到MongoDB中。 我正在使用org.Mongo。
我在/ test文件夾中有一些測試單元類。 但是,當我從eclipse運行單元類時,從Mongo DB中根本找不到任何數據,也無法從中獲取任何集合實例。
測試代碼如下:
@Test
public void test(){
running(testServer(3333, fakeApplication(conf.asMap())), HTMLUNIT, new Callback<TestBrowser>() {
public void invoke(TestBrowser browser) {
String body = "\"name:\": \"abc\"";
MongoStore.store(body);
}
});
}
conf是不同於application.conf的配置文件,我使用它來提供臨時配置。 MongoStore只是將數據存儲在mongoDB中的包裝器。
我永遠無法將日期存儲到Mongo中(我很確定mongo連接的其余部分都很好用),也無法獲取DBCollection的實例。
在測試單元中運行時,有人知道如何將Play連接到mongo db嗎?
我終於想通了。
在原始代碼中,我編寫了一個插件來連接到mongoDB。 似乎在測試模式下,播放不會自動加載該插件。 因此,我需要將其作為法寶應用程序()的參數添加為附加插件。
之后一切正常。
受到stackoverflow中一個問題的啟發,該問題提到在測試模式下未自動啟用插件,因此忘記了鏈接思想(多么可惜!)
其他鏈接:插件的名稱應與conf / play.plugins中的名稱相同。 如何在Play框架單元測試中加載不同的插件?
現在,這個答案可能為時已晚並且無關緊要,但是我補充一下,以防萬一有人覺得有用。 我寫了一個自以為是的方式來使用MongoDB的集成/單元測試播放應用在這里 。 該存儲庫使用reactmongo作為驅動程序,並使用scalatest作為測試框架。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.