Javascript 如何测试渲染视图的快速布线
我在尝试用SuperTest测试一些快速路线时有点卡住了Javascript 如何测试渲染视图的快速布线,javascript,node.js,express,supertest,Javascript,Node.js,Express,Supertest,我在尝试用SuperTest测试一些快速路线时有点卡住了 // 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(
// 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');
});
当我使用浏览器手动测试路由器时,路由器工作正常,并呈现jade模板视图,但当我运行mocha测试时,路由器失败,出现“Uncaught expected false to true”。Express将请求记录为成功(200),但测试仍然显示为失败,并显示错误消息
我曾尝试对SuperTest段使用不同的代码习惯用法,使用不同的jade模板,这似乎只是在我第一次在呈现模板的路由器上运行测试时出现的。在同一路由器和模板上进行的以下测试是否成功
您尝试过使用路由器查找呈现视图的代码示例,但没有成功,所以这可能是不受支持的场景 你有什么解决办法吗?
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();
});
});