繁体   English   中英

超级测试测试快速中间件

[英]supertest test express middleware

找到了有关如何在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的快速测试req.xhr

如果运行您的示例,您将看到错误stacktrace但测试通过,因为:

  1. 它在测试过程中没有捕获到错误。
  2. 没有错误信息传递给done()函数调用。

我的修复程序在PR#2053中

  1. 使用expect()返回的断言错误.end()
  2. 将任何错误信息传递给done()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM