我一生都无法弄清楚这里出了什么问题。这是这种情况:
- 我有一个使用回形针作为 pdf 附件的文档模型
- 功能测试上传文档失败
- 这样做的原因是我验证它是一个 pdf 文件 - 不知何故验证失败
- 但是,该文件是pdf,并且验证不应失败
- 验证仅在测试中失败 - 通过上传它抱怨的文件手动完成工作绝对正常
这是我失败的测试(计数不增加一):
test "should create document" do
assert_difference('Document.count') do
post :create, document: { pdf: fixture_file_upload("../files/document_test_file.pdf"), language: @document.language, published_on: @document.published_on, tags: @document.tags, title: @document.title, user_id: @user }
end
assert_redirected_to document_path(assigns(:document))
end
这是我在文档模型中的验证:
def document_is_a_pdf
if !self.pdf.content_type.match(/pdf/)
errors.add(:pdf, "must be a pdf file")
false
end
end
如果我不在模型中调用该验证,则测试运行良好。我在这里做错了什么?