使用经过身份验证的端点测试REST API

时间:2017-07-12 02:14:39

标签: node.js rest api unit-testing authentication

我正在为NodeJS API设置测试(在hapi.js上),我不确定测试经过身份验证的API的典型约定。

目前,路由处理程序身份验证授权都在单独的模块中,因此我考虑单独测试每个模块而不是在测试中调用HTTP端点(最终会触及所有身份验证/授权/处理程序逻辑)。

但是,根据我从some testing guides看到的内容,似乎对如何/测试内容有不同的看法。意见似乎是:

  1. 调用API端点,但仅在返回状态
  2. 上断言
  3. 调用API端点,断言返回状态和数据
  4. 如果我确实调用了API端点,那是否意味着我在每个用例中都需要一个有效的身份验证令牌 - 或者禁用auth进行测试?

1 个答案:

答案 0 :(得分:1)

这取决于有多少端点需要相同的身份验证。如果它们都具有相同的身份验证和代码路径,那么您可以进行一些身份验证测试。他们可能会测试:

  1. Auth present
  2. Auth missing
  3. 验证无效
  4. 您可以使用相同的端点编写这3个测试。如果他们共享相同的auth代码路径,则没有真正的理由来测试其他端点。实际上,auth代码应该与每个端点的功能分开。

    除了auth测试之外,您还可以使用有效的auth进行一些测试。

相关问题