测试 Rails shopify 应用的控制器

Testing controllers of a Rails shopify app

我有一个 Rails 通过 shopify_app gem 创建的应用程序,我正在尝试使用 rspec 测试我的控制器。由于我所有的控制器都继承自 ShopifyApp::AuthenticatedController,所有测试请求都被身份验证阻止,所以我无法测试我的控制器。

我看到了一些通过像这样存根会话来绕过身份验证的建议:

session[:shopify] = ShopifyAPI::Session.new(domain)

但这对我仍然不起作用。请求似乎被重定向(响应代码 302)。

我相信很多人都偶然发现了这个。但是经过一天的谷歌搜索后,我找不到可行的解决方案。感谢您的帮助!

谢谢!

会话对象需要从@request 中存根,像这样:

@request.session[:shopify] = shop.id
@request.session[:shopify_domain] = shop.shopify_domain

我在 Shopify 论坛上收到了详细的答复 in this post