【发布时间】:2018-02-21 17:09:36
【问题描述】:
我很难理解如何对呈现 html 文件的简单快速获取请求进行单元测试。
在我的设置中,当我收到关于未设置视图引擎的错误时,当我运行我的代码时。
我想做的只是检查“res.render”函数是否已被调用并模拟它,所以它实际上并没有做它应该做的事情。
route.js
module.exports = function(router) {
router.get('/test', function(req, res, next) {
console.log("Hi");
res.render('test/test', { current: "current"});
});
};
test.js
const request = require('supertest');
const sinon = require('sinon');
const express = require('express');
const app = express();
const routes = require('../../routes/route')(app);
describe('My routes', function () {
before(function() {
return this.spy = sinon.spy(app, 'render');
});
after(function() {
return this.spy.restore();
});
it('should render to /test', function(done) {
var res = { render: sinon.spy() };
request(app)
.get('/test')
.expect(200, done)
});
});
它在 res.render('test/test') 行上失败了,我真的不希望这条线执行我想以某种方式模拟它?
我想我遗漏了一些明显的东西!
谢谢大家 乔伊
【问题讨论】:
-
你能发布你得到的实际错误吗?
-
你能否使用邮递员或其他工具检查相同的网址是否获得 200 状态@Joey
标签: javascript node.js unit-testing express mocha.js