【问题标题】:Is it possible to Unit-Test a OpenID-Connect Token Validation?是否可以对 OpenID-Connect 令牌验证进行单元测试?
【发布时间】:2022-11-18 15:19:02
【问题描述】:

我想为我的 JWT 验证脚本构建一些单元测试。我正在使用一些用于 openid-connect 使用的自定义令牌验证脚本来扩展 Shiro。

问题是,我尝试测试的方法验证了一个已经过期的令牌。如果我想使用有效的令牌进行测试,我需要向 OAuth-Provider 发出新请求以获取它,并且我不知道令牌的新值对于单元测试匹配很重要。现在我在问自己这是否属于单元测试的范围,因为我认为单元测试只是简单的准备测试,其中将结果与方法输出进行比较。

【问题讨论】:

    标签: java unit-testing jwt openid-connect shiro


    【解决方案1】:

    如果我是你,我会给单元测试一个虚拟的当前时间作为一个额外的输入参数。单元测试可以使用虚拟当前时间对与时间相关的声明(如expiatnbf)执行验证,就好像它是实际当前时间一样。

    作为一种好的做法,当您编写一个根据当前时间更改其行为的库时,该库应该能够接受一个基准时间作为可选输入参数。

    【讨论】:

      猜你喜欢
      • 2015-06-27
      • 2015-05-27
      • 1970-01-01
      • 2017-09-27
      • 2014-09-12
      • 2023-02-24
      • 1970-01-01
      • 2019-02-12
      相关资源
      最近更新 更多