如何修复“Unhandled rejection TypeError:res.status不是函数”错误?

时间:2018-05-15 22:55:09

标签: javascript express testing mocha

我创建了几个在使用浏览器和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 /目标

0 个答案:

没有答案