我有另一个thread尝试使用不同的方法测试资源是否在控制器中加载和授权,但似乎我正在测试CanCan本身。我查看了CanCan的load_and_authorize_resource方法的source code,它似乎只是adding a before_filter到控制器。
我尝试了以下内容:
检查load_and_authorize_resource before_filter。我找到了带有_process_action_callbacks方法的过滤器,但我没有看到与CanCan相关的过滤器。我不确定这是否是由于如何添加before_filters。
我尝试测试MyController.should_receive(:load_and_authorize_resource).with(:network),但无济于事。
还有其他建议吗?你会如何测试?
答案 0 :(得分:1)
我会使用mocha或其他一些模拟框架来模拟它,例如:
CanCan.expects(:load_and_authorize_resource).once.returns(true)