0

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

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 返回正确的作者

仅当测试失败时才会显示上述这些消息。

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

4

2 回答 2

0

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

于 2013-11-13T20:18:40.647 回答
0

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

example.metadata[:full_description]
于 2013-11-13T23:08:08.763 回答