【发布时间】:2021-09-22 20:04:03
【问题描述】:
在 Rails 应用程序中,我正在为帮助程序类编写 Minitest 单元测试,该帮助程序类生成并返回一些 HTML(用作外发电子邮件的正文内容)。我正在使用assert_select 来验证生成的 HTML 中是否存在特定元素。
运行测试时,带有assert_select 的行会抛出此错误:
Minitest::UnexpectedError: NotImplementedError: Implementing document_root_element makes assert_select work without needing to specify an element to select from.
这是我的(最小/简化的)测试类代码:
class MyEmailBodyGeneratorTest < ActiveSupport::TestCase
include Rails::Dom::Testing::Assertions
def test_generate_email_body
generator = MyEmailBodyGenerator.new
generator.generate_email_body
assert_select 'p.salutation', count: 1
end
end
关于实现document_root_element 的错误是什么意思?我的代码中没有具有该名称的方法。
【问题讨论】: