如何测试呈现视图的Express Routes
How to test Express Routes that render a view
我有点卡住了,试图用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('user.jade');
});
当我用浏览器手动测试它时,路由器工作得很好,并呈现了jade模板视图,但当我运行mocha测试时,它失败了,"Uncaught expected false为true"。Express将请求记录为成功(200),但测试仍然显示为失败,并显示错误消息。
我尝试使用不同的代码习惯为SuperTest段,不同的玉模板,它似乎只发生在我第一次运行测试的路由器上呈现一个模板。在同一路由器和模板上使用GET进行测试是否成功??
试图找到代码样本与路由器渲染视图没有成功,所以也许这是一个不支持的场景?
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();
});
});
相关文章:
- 发送json对象或使用express路由呈现视图
- 使用socket.io更新express实时视图
- 如何在 Express.js 中为路由的子路径呈现不同的视图
- Coffeekup 作为 Express 3 的视图引擎
- 将控制器变量传递到Express/Node.js中的视图
- 使用express时在EJS视图中查找当前url
- 在Node.js Express应用程序中加载特定于视图的JavaScript
- 在Node/Express中渲染视图总是会导致错误
- 如何将查询结果数据传递到Express.js和Mysql中的视图
- 如何将变量从express视图传递到router.js文件- Node JS
- Express js控制器从api服务中获取数据并呈现视图
- 更改url,在哪里用Express 4渲染视图
- Node.js Express将Underscore.js注册为视图引擎的例子
- 可以在Express中同时使用多个视图引擎和多个视图文件夹
- 如何在Express.js中将Angular 2应用添加为视图
- Express.js视图引擎vs.手动编译
- 可以't使用MongoDB NodeJS Express从视图访问数据库
- Express 4.0在"/views"中查找视图失败目录中
- 如何使用Uglify.js为Express.js中的每个视图连接JavaScript
- 在Express Angular中,把一个变量从视图传递给控制器