supertest搭配koa报错: app.address is not a function
const app = require('koa')();
console.log(typeof app); // object
主要错误就是出现在项目实例是对象,在express下,就不错出现这种问题
const app = require('express')();
const.log(typeof app); // function
完整代码:
// app.js
const app = require('koa')();
app.listen(3000);
module.exports = app;
// article.test.js
const expect = require('chai').expect;
const request = require('supertest');
const app = require('../app');
describe('api: /article', () => {
describe('GET /article', (done) => {
it('response is success', () => {
request(app)
.get('http://localhost/article')
.expect(200)
.end(() => {
done();
});
// console.log(typeof app);
})
});
});
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
已找到答案,导出对象有问题,应该导出listen方法返回值。
koa不包含address方法报错.
可以通过下面方法覆盖源码,单独启动线程来解决问题,测试线程和被测试线程分离日志会更清晰一些.