比如有一个 Rails 项目,名为 Weibo 吧(随便叫的)想发 weibo 必定是要登陆的,所以在 Weibo 这个项目里用了 Devise 用作用户认证啥的。
然后写了一个名为 Pinglun 的 Engine,假设是用来看某个 Weibo 评论以及增加评论用的吧:)
想发表一个评论肯定也是要登陆的,开发的时候,在 PInglun 的控制器里使用 before_filter :authenticate_user! 是没有问题的,他会使用主项目 Weibo 的认证。
可是假如是在 Engine 内部进行 rake test 的话,这个时候 :authenticate_user! 就找不到,出问题了……
想问问这种带验证的 Engine 是应该自己验证还是让调用自己的项目验证? 如果是让调用自己的项目去做验证的话,这个测试又应该如何写比较好呢?