发现以下关于如何在express中测试中间件的提示:
https://github.com/visionmedia/express/blob/master/test/req.xhr.js
我想知道为什么我的测试总是通过。直到我注意到当我从 Express 复制测试时,它们的行为是相同的。我试图把它们搞砸,但它们不断通过:https://github.com/visionmedia/express/blob/master/test/req.xhr.js
我在这里缺少什么?
it('should return true when X-Requested-With is xmlhttprequest', function(done){
var app = express();
app.use(function(req, res){
req.xhr.should.be.false; //set to false, to fail the test but it still passes
res.end();
});
request(app)
.get('/')
.set('X-Requested-With', 'xmlhttprequest')
.end(function(res){
done();
})
})
你没有错过任何事情,这是快速测试req.xhr那永远不会失败。
如果运行您的示例,您将看到错误堆栈跟踪,但测试通过,因为:
- 它在测试过程中没有发现错误。
- 没有错误信息传递到
done()
函数调用。
我的修复在PR #2053:
- use
expect()
将断言错误返回到.end()
.
- 将任何错误信息传递给
done()
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)