如何让rspec给我更多有用的输出?

时间:2012-11-15 16:01:04

标签: ruby-on-rails rspec

我有一些测试失败的非常简单的请求,我可以手动验证应该通过。

it { should have_selector('title', text: app_title('Sign in')) }

输出:

expected css "title" with text "CredSimple - Sign in" to return something

我想rspec告诉我除了这条消息之外还遇到了什么,它无法通过测试。是否有一个指令,我可以用来告诉引擎输出它看到的页面? 类似的东西:

expected css "title" with text "CredSimple - Sign in" to return something **instead returned text "Wrong Page Title"** 

1 个答案:

答案 0 :(得分:1)

我在rspec中使用save_and_open_page语句找到了一种方法。这将创建一个可以在编辑器或浏览器中查看的HTML转储,以便您可以确定测试源中的内容。

为了实现这一点,我采取了以下步骤

  • 添加gem' launchy'到Gemfile
  • $ Bundle install
  • 将save_and_open_page插入我尝试调试的测试的{}区块
  • 展示位置很重要:

    {save_and_open_page应该has_selector(' div.alert')}