java - 是否存在用于单元测试的 assertHTMLEquals 之类的东西

标签 java html junit

在我的测试中,我检查:

assertEquals("<div class=\"action-button\" title=\"actionButton\">"</div>", result);

如果有人更改了 html (result),将 SPACE 放在那里,HTML 仍然有效,但我的测试会失败。

如果两个 html 片段与 HTML 相等,是否有某种方法可以比较它们。像 assertHTMLEquals


XML UNIT 表示这两行是相等的:

字符串1:

<ldapConfigurations>
<ldap tenantid="" active="false">
</ldap>
</ldapConfigurations>

字符串2:

<ldapConfigurations>
<ldapdd tenantid="" active="false">
</ldap>
</ldapConfigurations>

但正如您所见,它们并非如此。 (参见:ldapdd)

最佳答案

这不一定适用于您的情况,但如果您的 HTML 碰巧是有效的 XML,它就可以。您可以使用这个名为 xmlunit 的工具.使用它,您可以编写如下所示的断言方法:

public static void assertXMLEqual(Reader reader, String xml) {
    try {
        XMLAssert.assertXMLEqual(reader, new StringReader(xml));
    } catch (Exception ex) {
        ex.printStackTrace();
        XMLAssert.fail();
    }
}

如果这对您不起作用,也许还有一些其他工具可以用于 HTML 比较。如果这不起作用,您可能希望最终使用像 jtagsoup(或其他)这样的库,并比较它解析的所有字段是否相等。

关于java - 是否存在用于单元测试的 assertHTMLEquals 之类的东西,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16471160/

相关文章:

javascript - 通过 Javascript 添加 CSS 类属性

java - 为什么 ErrorCollector 在声明的时候要求赋值?

java - 使用 Selenium 时如何绕过 firefox 更新页面?

java - JPA级联删除: Setting child FK to NULL on a NOT NULL column

java - 如何按编号排列和重命名文件?

java - 将程序转换为小程序

java - 在方法中声明 java 变量

javascript - 在悬停时制作一个 div 覆盖链接

java - JPA 插入 + Oracle 序列和带有 H2 的 Junit

JavaScript 正则表达式。获取图片src