gum*_*lux 5 javascript node.js express supertest
我在尝试使用 SuperTest 测试一些 Express Routes 时遇到了一些困难。
// Mocha test
..
request(app)
.get('/user')
.expect(200)
.end(function(err, res){
if (err) return done(err);
done()
});
...
// Router
app.get('/user', function(req, res){
res.render('user.jade');
});
Run Code Online (Sandbox Code Playgroud)
当我使用浏览器手动测试路由器时,路由器工作正常,并呈现 jade 模板视图,但是当我运行 mocha 测试时,它失败并显示“未捕获的预期假为真”。Express 将请求记录为成功 (200),但测试仍显示为失败并显示错误消息。
我曾尝试对 SuperTest 段使用不同的代码习语、不同的 jade 模板,而且似乎只在我第一次在呈现模板的路由器上运行测试时发生。即使在相同的路由器和模板上使用 GET 进行以下测试也成功???
已尝试使用路由器查找代码示例,但未成功呈现视图,所以这可能是不受支持的情况?
Jua*_*blo -4
var request = require('supertest');
var app = require('../server').app;
var jade = require('jade');
var should = require('should');
// ...
it('return user template', function(done){
request(app)
.get('/')
.end(function(err, res){
var html = jade.renderFile('./pathToJadeFile/user.jade');
res.text.should.equal(html);
done();
});
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1529 次 |
| 最近记录: |