特殊场景的功能规范

Feature specs for exceptional scenarios

我了解到控制器规格正在失宠,目前的建议是使用功能和请求规格。我发现功能规范对于快乐路径测试一直非常有效,但我在处理我想要测试的特殊情况时遇到了一些困难。例如,我有一个用户拥有的资源索引。此列表包括销毁每个资源的按钮。用户只能看到自己的资源。我想添加一个测试,试图摧毁属于别人的失败。问题是该列表不会包含任何其他人的项目,因此没有合适的 link 来告诉水豚点击。在控制器测试中,我可以直接在资源路径上发出 DELETE,但据我所知,这不是功能规范中的一个选项。我错过了什么吗?如果我想在快乐路径之外覆盖,我是否也需要实施请求规范?我希望保留涵盖我的 API 端点的请求规范。

在我看来,权限规范不应作为功能规范来实现。您的想法完全有道理,您唯一可以真正检查的是您没有看到其他用户制作的任何实体。您的逻辑困难就像 +1 分,这种情况应该通过其他规范类型进行测试。另外...功能规格很昂贵,我永远不会在功能中进行这样的 'deep' 测试。