我想测试视图的部分组件。部分位于app/views/shared
。 partial调用route方法来动态添加链接。例如,我的杂志和广告路径如下:
/magazines/a/ads/1
magazine_ad_path(magazine_id: 'a', id: 1)
关于Rails的好处是,当前控制器具有您需要的所有当前标识符。
> params
=> {'action' => 'show', 'controller' => 'ads', 'id' => '1'}
这意味着只需调用magazine_ad_path(id: 2)
即可切换到另一个广告就足够了。这非常有效,但是当我为这个部分编写RSpec测试时,我不知道如何存根这些参数。
在测试中我调用render :partial
,但由于没有带参数的控制器上下文,缺少的标识符未完成。
在这种情况下如何存根?