【问题标题】:Failing Express test with Mocha使用 Mocha 未能通过 Express 测试
【发布时间】:2015-08-09 10:44:50
【问题描述】:

我有一个 Express 服务器,我正在尝试使用 SuperTest 进行测试。下面的测试没有通过,我不知道为什么。

我看到响应的状态为 200(在res.status.should.equal(200) 中放置断点)。为什么我的 Mocha 这个测试仍然被标记为失败?

it('Should test invoke user method', function (done) {
  supertest(app)
    .post('/save/test1/test2/test3')
    .expect(200)
    .end(function (err, res) {
      res.status.should.equal(200);
      done();
    });
});

【问题讨论】:

  • 你得到的输出是什么?

标签: node.js express mocha.js supertest


【解决方案1】:

你的输出应该能准确地告诉你你收到了什么。

您也可以使用https://www.getpostman.com/ 手动测试(现在它们正在维护中,但它应该很快会再次启动),这对开发有很大帮助,如果您正在进行 api 测试,您也可以对@987654322 感兴趣@,这完全改变了我的工作流程

编辑:

  • Postman:一个 chrome/FF 插件的 rest 客户端,您可以使用它来进行调用并轻松查看响应的内容(您可以使用 curl 和 wget,但 postman 很容易,尤其是在您需要时玩标题)

  • Dredd:理论上可以验证您的蓝图/文档以查看它是否与您的服务器同步的工具,实际上您可以先进行所有 API 蓝图的红绿灯开发,然后让所有测试通过,这样做的好处是您可以实际看到服务器响应的 json/其他内容是什么以及它与您的代码有何不同

【讨论】:

  • 希望我已经改进了答案,我是菜鸟,所以如果你能指出我如何改进,我会这样做
猜你喜欢
  • 1970-01-01
  • 2015-05-11
  • 2016-06-05
  • 1970-01-01
  • 1970-01-01
  • 2016-11-15
  • 1970-01-01
  • 2018-08-05
  • 1970-01-01
相关资源
最近更新 更多