我创建了几个在使用浏览器和Postman进行测试时工作正常的端点。
我现在正在为这些端点编写测试(我知道我应该先编写这些测试)并且我一直收到错误 -
“未处理的拒绝TypeError:res.status不是函数”
这是我的端点代码
usage*
Goal.getAll()是一个查询数据库以获取目标的函数。
这是我的测试代码。
router.get('/', (req, res) => {
Goal.getAll().then((goals) => {
res.status(200).json(goals);
});
});
测试使用测试DB。 BeforeEach和AfterEach用于隔离我将要进行的不同测试。
如果有人可以提供帮助,我们将不胜感激。我不明白为什么res.status在测试期间不是一个函数,但是当我运行服务器时,端点工作正常。
我尝试删除.status但是错误变为res.json不是函数。
更新:我尝试创建新文件和基本路由,但这些测试也无效。我得到的新错误是“Uncaught TypeError:无法读取属性'应用'未定义”
已修复:该路由是快速路由器的一个实例,它已安装到顶级应用路由。因此,我需要导入顶级应用程序,而不是在测试文件中导入单个路径。然后请求完整端点。所以在我的情况下/ api /目标