【问题标题】:ElasticSearch Nodejs Express Automated TestingElasticSearch Nodejs Express 自动化测试
【发布时间】:2015-07-13 11:56:28
【问题描述】:

如何使用 Node 测试框架实现 ElasticSearch 的自动化测试?

我想在我的 nodejs 项目中实现 ElasticSearch 以实现高效的搜索能力,该项目使用 Express 框架、frisby、Socket.io 等。ElasticSearch nodejs 实现在谷歌上很容易获得,但不是自动化测试。需要建议。

【问题讨论】:

  • 我找到了一个解决方案,之前我使用Mysql数据库而不是ElasticSearch,并根据Mysql数据库编写功能测试用例。现在当我用 ElasticSearch 替换 Mysql 时,编写的测试用例应该不会失败。我认为这将是测试弹性搜索的过程,它不会影响我们的系统,并确保它被正确实施

标签: javascript node.js testing express elasticsearch


【解决方案1】:

您可以使用 JasmineMocha 作为 Node.js 的测试框架。在测试套件中,您可以使用另一个库:superagent

Superagent 允许您对指定的 url 执行 HTTP 请求。

另一方面,您有一个可以接收 HTTP 请求的 elasticsearch。

您可以拥有一个以 http 请求形式向 elasticsearch 发出的数据集库。每个数据集都适用于为 elasticsearch 提供数据,以检查测试是否通过或失败。

以下是如何使用 superagent 向弹性搜索服务器发出请求的示例:

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

【讨论】:

  • 我可以使用我已经集成的 frisby 来做同样的事情。
  • 是的,没有注意到您有 frisby 可用。但该方法仍然有效。
  • 感谢您的投票,但当您发布问题时,您可以通过单击赞成/反对票下方的勾号来接受答案。此接受向其他用户表明该答案对您有效
猜你喜欢
  • 2011-04-12
  • 2018-03-09
  • 1970-01-01
  • 1970-01-01
  • 2020-07-20
  • 1970-01-01
  • 2012-01-31
  • 1970-01-01
  • 2018-03-20
相关资源
最近更新 更多