【发布时间】:2015-08-31 23:07:59
【问题描述】:
我正在尝试使用环回测试编写测试。
我有点困惑,几乎没有任何文档。
我想测试一个只有具有“admin”角色的用户才具有 WRITE 权限的模型。
现在,如果我这样做:
lt.describe.whenCalledByUserWithRole(test_config.adminUserCredentials, test_config.adminRole, ....)
loopback 实际上会在登录之前使用test_config.adminUserCredentials 创建一个用户!
为什么这样做?
恕我直言,正确的行为应该是:
- 在测试设置中创建用户
- 在测试设置中创建角色
- 将角色与用户关联
- 运行测试时,仅检查用户是否对请求的操作具有权限
但是使用环回测试似乎很棘手。如果我在设置中创建用户,测试将崩溃,因为whenCalledByUserWithRole 将在此过程中尝试再次创建用户,环回将拒绝说用户已经存在。如果我不创建用户并调用whenCalledByUserWithRole,则由于某种原因(即使名称如此暗示),该用户将不会与“admin”角色相关联,并且测试失败。
我该如何正确地做到这一点?
【问题讨论】:
标签: node.js testing loopbackjs