如何测试角色和权限?

How to test roles and permissions?

我正在使用角色和权限概念。目前大约有 300 种可能的组合。我想进行适当的测试以确保我没有犯错。我该怎么办?

我不能做 300 个不同的 UAT。我是否应该定义自动测试并从我的权限主机 table 中获得想要的结果?任何想法表示赞赏。

我不确定ui(目前)是否值得用自动测试来测试role-permissions。

假设您有包含角色及其权限的矩阵(例如我们的 role-permission matrix)。为角色分配权限非常简单,没有任何代码逻辑(if-else 语句)。因此,这仅取决于您是否为角色设置了 required 权限。可能最好明显地可视化您的 permission/role 矩阵(在代码中或在某些 ui 中)以便于检查您的设置。

第二个原因是角色的权限通常是动态的,并且由一些管理人员从管理面板设置(因此当他们应用新权限时无法 运行 单元测试)。

可能值得测试角色串联的代码逻辑(当用户同时拥有几个角色时——是否应用了所有权限,或者您可能有其他特定逻辑)。在这种情况下像往常一样测试它(在测试中创建几个角色,将它们附加到用户,检查预期的权限)。


如果您真的想测试所有角色和权限,请考虑 data-driven tests