gpt4 book ai didi

javascript - 如何测试呈现 View 的 Express Routes

转载 作者:搜寻专家 更新时间:2023-10-31 23:28:11 24 4
gpt4 key购买 nike

我在尝试使用 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');
});

当我使用浏览器手动测试路由器并呈现 jade 模板 View 时,路由器工作正常,但是当我运行 mocha 测试时,它失败并显示“未捕获的预期假为真”。 Express 将请求记录为成功 (200),但测试仍显示为失败并显示错误消息。

我曾尝试对 SuperTest 段使用不同的代码惯用语、不同的 jade 模板,但它似乎只出现在我第一次在呈现模板的路由器上运行测试时。即使在同一个路由器和模板上使用 GET 进行测试也成功了???

已尝试查找带有路由器的代码示例,这些示例无法成功呈现 View ,所以这可能是一个不受支持的场景?

最佳答案

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();
});
});

关于javascript - 如何测试呈现 View 的 Express Routes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22326420/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com