2011-07-03 24 views
0

我有一个subdomained rails 3.0应用程序,我试图用黄瓜/水豚/硒进行测试。我使用子域在应用程序控制器中的before_filter中设置当前站点。为什么selenium在我的应用程序控制器中运行before_filters?

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

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

任何人有任何想法,为什么我的before_filter不在硒下运行?

回答

0

我对过滤器未运行的评估是错误的。我正在使用puts语句进行调试。在正常的黄瓜测试中,这些转到您运行黄瓜的控制台窗口。因为使用@javascript运行的测试实际上启动了应用程序,所以调试语句被发送到一些看不见的输出。我能够通过用RAILS_DEFAULT_LOGGER.error替换puts语句并对日志文件进行拖尾来关注发生了什么。

+0

'Rails.logger.error'稍微正确一些。 – sj26

相关问题