如何自动化外部身份验证提供程序的测试

时间:2018-07-20 09:22:52

标签: node.js api authentication

我有一个用nodejs编写的API(使用koa),并且正在为此编写测试。

在API上,用户可以向社交服务提供商进行身份验证(我们目前支持Google和Microsoft)。我想为auth端点编写测试(登录,注册,连接多个帐户等)。问题是我需要只能由客户端获得的令牌(例如Google时为serverAuthCode)。

自动化这些测试的最佳方法是什么?我想到的解决方案很少,但我不认为它们是最佳的:

  1. 总是在运行令牌之前手动将令牌提供给测试。这很脏,因为我无法在CI上运行这些测试,而且总是必须生成令牌很烦人。在运行测试之前,请手动标记令牌。

  2. 将测试移至前端。这样,我可以测试整体功能,但是例如,我无法在需要auth令牌的中间件上运行单元测试。这种方法只会测试整个端点

最好的解决方案是找到一种方法来生成提供某些测试帐户凭据的令牌。但是我无法在测试脚本中找到实现此目的的方法。

0 个答案:

没有答案