2015-05-04 83 views
6

如何使用Node測試框架實現ElasticSearch的自動化測試?ElasticSearch Nodejs Express自動測試

我想將ElasticSearch實現到我的nodejs項目中,以便使用Express框架,frisby,Socket.io等進行高效搜索。ElasticSearch nodejs實現在Google上很容易獲得,但不是自動化測試。需要建議。

+0

我找到了一個解決方案,以前,我使用的MySQL數據庫,而不是ElasticSearch,寫功能測試根據Mysql數據庫的情況。現在,當我用ElasticSearch替換Mysql時,書面測試用例不應該失敗。我認爲這將是測試elasticsearch的過程,它不會影響我們的系統,並確保它正確實施 –

回答

5

您可以使用JasmineMocha作爲Node.js的測試框架。在測試套件中,您可以使用另一個庫:superagent

Superagent允許您對指定的URL執行HTTP請求。

另一方面,您有一個elasticsearch接收HTTP請求。

您可以通過http請求的形式創建一個數據集庫,以發佈到elasticsearch。每個數據集都適合用於提供elasticsearch來檢查是否有測試通過或失敗。

這裏是SuperAgent的怎麼可以用來發出一個elasticsearch服務器的請求的例子:

var request = require('superagent'); 
var should = require('should.js'); 

describe('Your test suite', function() { 
    it('Should test elasticsearch search', function (done) { 
     request.get('http://localhost:9002/index/type/_search') 
     .end(function (err, res) { 
      should.not.exist(err); 
      should.exist(res); 
     }); 
    }); 
}); 
+0

我可以使用我已經集成的frisby做同樣的事情。 –

+0

是的,沒有注意到你有frisby可用。該方法仍然有效。 – javierfdezg

+1

是的,它爲我工作。謝謝。 –