アサーションが失敗する単体テストを作成しました。モデルのすべての属性を検査することなく、その理由を見つけたいと思います。
これが私のテストです:
test "a correct document should be saved" do
document = documents(:one)
document.pdf = File.new("test/files/document_test_file.pdf")
assert document.save
end
そして、ここにフィクスチャがあります:
one:
user_id: 1
title: MyString
published_on: 2012-12-06
tags: MyText
language: MyString
どうやら、何かが足りないため、ドキュメントを保存できません。しかし、何が欠けているのかを正確に知るにはどうすればよいでしょうか。これを行うための高度なアサーション方法はありますか?
そして私のモデル:
class Document < ActiveRecord::Base
attr_accessible :language, :pdf, :pdf_file_name, :published_on, :tags, :title, :user_id
# Validations
validates_presence_of :language, :published_on, :tags, :title, :user
validates_date :published_on, on_or_before: Date.current,
on_or_before_message: "must be today or earlier"
validates :user_id, numericality: { only_integer: true, greater_than: 0 }
validates :pdf, attachment_presence: true
# Relations
belongs_to :user
# Paperclip
has_attached_file :pdf
end