如何存储rspec测试消息

时间:2013-11-13 17:50:45

标签: ruby rspec

以下是我的测试示例代码:

require 'spec_helper'

describe Book do
  before :each do
    @book = Book.new 'Title', 'Author', :category
  end

  describe "#title" do
    it 'returns the correct title' do
      @book.title.should == 'Title'
    end
  end

  describe "#author" do
    it 'returns the correct author' do
      @book.author.should == 'Author'
    end
  end
end

在这里,我们进行了两项测试:

  1. Book #title返回正确的标题

  2. Book #author返回正确的作者

  3. 以上消息仅在测试失败时显示。

    我要将这两条测试消息及其各自的结果保存在日志文件中。为了实现这一点,我首先必须将这些测试消息存储在对象中。如何将这些测试消息存储在对象中?这样我可以在写入日志文件时使用它们吗?

2 个答案:

答案 0 :(得分:0)

运行RSpec时可以使用文档格式:rspec --format doc将输出所有结果。如果需要,可以将其重定向到文件。

答案 1 :(得分:0)

除了能够使用其他答案中描述的--format doc方法之外,您还可以通过以下方式访问每个it块中的描述的串联:

example.metadata[:full_description]