【发布时间】:2018-07-02 13:22:11
【问题描述】:
我正在学习单元测试。到目前为止,我能够运行简单的测试,例如“添加两个数字并测试它们是否高于 0”,但我想使用 TDD 构建一个 REST API。到目前为止,我有这个:
我的routes/index.js 文件:
var express = require('express');
var router = express.Router();
/* GET home page. */
router.get('/', function (req, res, next) {
res.send({val: true});
});
module.exports = router;
我的index.test.js 文件:
var mocha = require('mocha');
var assert = require('chai').assert;
var index = require('../routes/index');
describe('Index methods', () => {
it('Returns true', done => {
index
.get('http://localhost:3000')
.end(function (res) {
expect(res.status).to.equal(200);
done();
})
})
});
我使用了一个教程来做到这一点,但是当我尝试运行它时,我得到:
TypeError: index.get(...).end is not a function
所以我猜有什么问题,但不知道是什么。那是我学习 TDD 的第一天,所以如果你看到任何愚蠢的东西,请告诉我。
这样做:
it('Returns true', done => {
var resp = index.get('http://localhost:3000/');
assert.equal(resp.val === true);
done();
})
同样会导致错误:
AssertionError: expected false to equal undefined
【问题讨论】:
-
你能显示 ../routes/index 文件吗?
-
这是第一个文件
-
我认为您正在尝试使用超测模块发出 API 请求检查我的答案。
标签: javascript node.js express mocha.js tdd