我有一台Express服务器,我试图用SuperTest测试。下面的测试没有通过,我不确定原因。
我看到响应的状态为200(在res.status.should.equal(200)
中放置了断点)。为什么这个测试仍被标记为我的摩卡失败?
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();
});
});
答案 0 :(得分:0)
你应该有输出,告诉你你收到了什么。
您还可以使用https://www.getpostman.com/进行手动测试(现在他们已经开始进行测试了,但很快就应该重新开始测试),这有助于开发,如果您正在进行api测试,那么同样对https://github.com/apiaryio/dredd感兴趣,这完全改变了我的工作流程
编辑:
Postman:一个chrome / FF插件的休息客户端,你可以用它来打电话,轻松看看响应是什么样的(你可以使用curl和wget但是postman很容易,特别是当你需要的时候玩标题)
Dredd:理论上验证你的蓝图/文档以确定它是否与你的服务器同步的工具,实际上你可以做一个红绿灯开发,首先是api的所有蓝图然后让所有测试通过,关于这一点的商品是你实际上可以看到什么是json /从服务器响应的任何其他东西以及它与你的代码有何不同