摩卡的快速测试失败
Failing Express test with Mocha
我有一个 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();
});
});
您的输出应该准确地告诉您您收到了什么。
您也可以使用 https://www.getpostman.com/ (now they're on mainenance but it should by up again soon), that helps A LOT in development, if you're doing api tests you could also be intrested in https://github.com/apiaryio/dredd 手动测试,这完全改变了我的工作流程
编辑:
Postman:一个休息客户端,它是一个 chrome/FF 插件,您可以使用它进行调用并轻松查看响应是什么样的(您可以使用 curl 和 wget,但邮递员很容易,特别是当你需要玩 header)
Dredd:理论上可以验证您的 blueprints/documentation 以查看它是否与您的服务器同步的工具,实际上您可以先进行 red-green 轻度开发api 的所有蓝图,然后通过所有测试,这样做的好处是您实际上可以看到服务器响应的 json/anything else 是什么,以及它与您的代码有何不同
我有一个 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();
});
});
您的输出应该准确地告诉您您收到了什么。
您也可以使用 https://www.getpostman.com/ (now they're on mainenance but it should by up again soon), that helps A LOT in development, if you're doing api tests you could also be intrested in https://github.com/apiaryio/dredd 手动测试,这完全改变了我的工作流程
编辑:
Postman:一个休息客户端,它是一个 chrome/FF 插件,您可以使用它进行调用并轻松查看响应是什么样的(您可以使用 curl 和 wget,但邮递员很容易,特别是当你需要玩 header)
Dredd:理论上可以验证您的 blueprints/documentation 以查看它是否与您的服务器同步的工具,实际上您可以先进行 red-green 轻度开发api 的所有蓝图,然后通过所有测试,这样做的好处是您实际上可以看到服务器响应的 json/anything else 是什么,以及它与您的代码有何不同