为什么 selenium 不在我的应用程序控制器中运行 before_filters ?

发布于 2024-11-18 17:30:16 字数 320 浏览 3 评论 0原文

我有一个子域 Rails 3.0 应用程序,我正在尝试使用 Cucumber/capybara/selenium 进行测试。我使用子域在应用程序控制器的 before_filter 中设置当前站点。

我所有的测试都工作正常,直到我使用 @javascript 标签。我使用 @javascript 运行的测试不运行 before_filter ,因此当前站点永远不会被设置。页面无法加载并且测试失败。

当我在适当的步骤中使用 save_and_open_page 时,这些相同的测试按预期工作并生成预期的页面。

有人知道为什么我的 before_filter 没有在硒下运行吗?

I've got a subdomained rails 3.0 app I'm trying to test with cucumber/capybara/selenium. I use the subdomain to set the current site in a before_filter in the application controller.

All my tests work fine, until I use the @javascript tag. The tests I run with @javascript don't run the before_filter and so the current site never gets set. The page doesn't load and the tests fail.

These same tests work as intended and produce the expected pages when I use save_and_open_page in the appropriate steps.

Anyone got any ideas as to why my before_filter isn't running under selenium?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

第几種人 2024-11-25 17:30:16

我对过滤器没有运行的评估是不正确的。我正在使用 put 语句进行调试。在正常的黄瓜测试中,这些会转到您运行黄瓜的控制台窗口。因为使用 @javascript 运行的测试实际上启动了应用程序,所以调试语句被发送到一些看不见的输出。通过用 RAILS_DEFAULT_LOGGER.error 替换 put 语句并跟踪日志文件,我能够密切关注正在发生的情况。

My assessment that the filter wasn't running was incorrect. I was using puts statements to debug. In normal cucumber tests these go to the console window you run cucumber from. Because tests run with @javascript actually start up the application, the debug statements were getting sent to some unseen output. I was able to keep an eye on what was going on by replacing the puts statements with RAILS_DEFAULT_LOGGER.error and tailing the log file.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文