如何声明该图像已与Capybara一起上传?
假设我有一个表单,用户可以创建一个附有图像的post。 我想确保附加的图像显示在下一页:
visit url fill_in the_form click_on 'Create' assert_selector '.post' post = Post.first img = page.find '.post .image' assert_equal post.file.thumb.url, URI(img[:src]).path
但我被告知要避免在系统测试中断言数据库对象。 那我该怎么办?
只要在后端没有“复杂”文件重命名发生,您在填充表单时就已经知道上传的文件名:
fill_in the_form
因此,您可以声明该页面包含具有此名称的图像(可能使用xpath
)。
如果有简单的文件重命名(例如用连字符替换空格),那么你可以(理想情况下)只选择一个不会改变的文件名,或者在你的测试中重现重命名。