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);
});
});
});
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 –