gpt4 book ai didi

rspec - 测试 before_filter 被调用

转载 作者:行者123 更新时间:2023-12-04 17:13:29 27 4
gpt4 key购买 nike

如何测试当访问 Controller 中的一个 Action 时,该 Controller 的 before_filter 将被执行?

before_filter 在单独的示例组中进行测试,因此无需为依赖 before_filter 的所有操作重复测试。

如果我有

controller.should_receive(:my_before_filter)

在我的例子中,它工作正常。然而,有了上面的期望似乎导致了 my_before_filter中的逻辑。没有被执行(它应该分配一个实例变量)。

如何克服此限制或模拟 my_before_filter 的行为(它在 Controller 上设置实例变量)?或者有没有更好的方法来做到这一点?

现在很明显我做错了,我仍然想知道如何模拟设置实例变量的 before_filter 的行为。肯定有可能在 Controller 规范中做到这一点吗?

最佳答案

测试过滤器过于密切地关注实现,IMO。您希望确保实例变量赋值正在发生,而不是它发生在过滤器内还是在 Action 内——测试结果,而不是实现。

关于rspec - 测试 before_filter 被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3193836/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com