2015-05-04 18 views
6

Làm thế nào để thực hiện kiểm tra tự động cho ElasticSearch bằng cách sử dụng khung kiểm tra Node?ElasticSearch Nodejs Express Tự động kiểm tra

Tôi muốn triển khai ElasticSearch vào dự án nodejs của tôi để có khả năng tìm kiếm hiệu quả, sử dụng Express framework, frisby, Socket.io vv. Việc triển khai nút ElasticSearch dễ dàng có trên google nhưng không phải là thử nghiệm tự động hóa. Cần gợi ý.

+0

Tôi tìm thấy một giải pháp cho điều này, trước đây, tôi sử dụng cơ sở dữ liệu Mysql thay vì ElasticSearch và viết thử nghiệm chức năng trường hợp theo cơ sở dữ liệu Mysql. Bây giờ khi tôi thay thế Mysql bằng ElasticSearch, các trường hợp kiểm thử viết không nên thất bại. Tôi nghĩ rằng đây sẽ là thủ tục để thử nghiệm elasticsearch rằng nó sẽ không ảnh hưởng đến hệ thống của chúng tôi và nó đảm bảo rằng nó được thực hiện một cách chính xác –

Trả lời

5

Bạn có thể sử dụng Jasmine hoặc Mocha làm khung kiểm tra cho Node.js. Trong các phòng thử nghiệm, bạn có thể sử dụng thư viện khác: superagent.

Superagent cho phép bạn thực hiện các yêu cầu HTTP đến một url được chỉ định.

Mặt khác, bạn có một elasticsearch nhận yêu cầu HTTP.

Bạn có thể có thư viện các tập dữ liệu dưới dạng các yêu cầu http phát hành đối với elasticsearch. Mỗi tập dữ liệu sẽ phù hợp để đưa elasticsearch vào kiểm tra thời gian hoặc không vượt qua được thử nghiệm hoặc không thành công.

Dưới đây là một ví dụ về cách superagent có thể được sử dụng để đưa ra một yêu cầu đến một máy chủ 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

Tôi có thể làm samething bằng cách sử dụng frisby mà tôi đã tích hợp. –

+0

Có, không nhận thấy bạn có frisby có sẵn. Phương pháp luận vẫn còn hợp lệ. – javierfdezg

+1

có, nó đang làm việc cho tôi. Cảm ơn. –

Các vấn đề liên quan