【发布时间】:2019-03-26 05:33:04
【问题描述】:
我正在为一个教育网站编写一个 DRF API,用户可以根据他们拥有的权限组和对象级别权限访问数据。当我开始编写测试时,我想知道是否有必要使用所有可能的权限组合来测试请求。例如,假设 API 的一个端点需要三个权限才能访问其数据,那么您可以编写大量测试方法来测试用户可能拥有的所有可能的权限组合。只有一种组合,即用户拥有所有三种权限的组合,会产生数据,其余的很可能会产生 403 禁止响应。
例如,这三个权限可能是 IsAuthenticated、IsOwner 和 IsTeacher。用户需要拥有所有三个权限,因此 403 Forbidden Response 组合将是:
IsOwner IsAuthenticated IsTeacher
False False False,
False False True,
False True True,
True False False,
True True False,
True False True,
False True False,
允许用户访问数据的有效响应是:
IsOwner IsAuthenticated IsTeacher
True True True
是否需要全部测试?我应该用其他方式测试它吗?
【问题讨论】:
标签: django django-rest-framework tdd django-testing django-permissions