4

我正在使用挂毯开发 Web 应用程序。我正在使用 junit 测试套件测试我的应用程序,并使用 ant build 生成战争文件和 html 报告。在我的 html 报告文件中,我有以下警告。

Multiple annotations found at this line:
    - Attribute (width) is obsolete. Its use is discouraged in HTML5 documents.
    - Attribute (cellpadding) is obsolete. Its use is discouraged in HTML5 
     documents.
    - Undefined attribute value (0). 
    - Attribute (language) is obsolete. Its use is discouraged in HTML5 documents.

以下是我的测试和报告生成代码。

<target name="test" depends="compile" description="Running Test Suite">
        <mkdir dir="${target.data.dir}"/>
        <mkdir dir="${target.htmlreports.dir}"/>
        <junit fork="no" haltonfailure="no" showoutput="yes" printsummary="true" >
        <test name="${junit.class.name}" todir="${target.data.dir}"/>
        <formatter type="brief" usefile="false"/>
        <classpath refid="classpath.test"/>
        <sysproperty key="ant.home" value="${ant.home}"/>   
        <formatter type="xml"/>
        </junit>
        <junitreport todir="${target.htmlreports.dir}">
        <fileset dir="${target.data.dir}">
        <include name="TEST-*.xml"/>
        </fileset>
        <report format="frames" todir="${target.htmlreports.dir}"/>
        </junitreport>
    </target>

这是我的 html 报告文件之一。

<html xmlns:lxslt="http://xml.apache.org/xslt" xmlns:stringutils="xalan://org.apache.tools.ant.util.StringUtils">
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Unit Test Results: Summary</title>
<link rel="stylesheet" type="text/css" title="Style" href="stylesheet.css">
</head>
<body onload="open('allclasses-frame.html','classListFrame')">
<h1>Unit Test Results.</h1>
<table width="100%">
<tr>
<td align="left"></td><td align="right">Designed for use with <a href="http://www.junit.org/">JUnit</a> and <a href="http://ant.apache.org/">Ant</a>.</td>
</tr>
</table>
<hr size="1">
<h2>Summary</h2>
<table class="details" border="0" cellpadding="5" cellspacing="2" width="95%">
<tr valign="top">
<th>Tests</th><th>Failures</th><th>Errors</th><th>Success rate</th><th>Time</th>
</tr>
<tr valign="top" class="Pass">
<td><a title="Display all tests" href="all-tests.html">1</a></td><td><a title="Display all failures" href="alltests-fails.html">0</a></td><td><a title="Display all errors" href="alltests-errors.html">0</a></td><td>100.00%</td><td>0.070</td>
</tr>
</table>
<table border="0" width="95%">
<tr>
<td style="text-align: justify;">
        Note: <em>failures</em> are anticipated and checked for with assertions while <em>errors</em> are unanticipated.
        </td>
</tr>
</table>
<h2>Packages</h2>
<table class="details" border="0" cellpadding="5" cellspacing="2" width="95%">
<tr valign="top">
<th width="80%">Name</th><th>Tests</th><th>Errors</th><th>Failures</th><th nowrap>Time(s)</th><th nowrap>Time Stamp</th><th>Host</th>
</tr>
<tr valign="top" class="Pass">
<td><a href="./test/web/app/sampleApp/juint/package-summary.html">test.web.app.sampleApp.juint</a></td><td>1</td><td>0</td><td>0</td><td>0.070</td><td>2013-01-17T04:52:59</td><td>123456</td>
</tr>
</table>
</body>
</html>

请任何人说我怎样才能删除这个警告。

4

9 回答 9

3

我面临同样的问题,我通过使用 HTML 4.01 文档类型而不是 HTML 5 文档类型得到了解决方案。这些警告只是因为 HTML5 验证器

于 2013-08-08T08:12:36.730 回答
2

这些警告来自 HTML5 验证器,显然您使用的工具在后台运行这样的验证器并报告一些报告的错误,将它们显示为警告。通过直接在 HTML 文档上使用http://validator.nu,还有许多其他错误消息。

警告“未定义的属性值 (0)”。然而,这很神秘。HTML5 验证器这样说可能是一种奇怪的说法,关于<table border="0">:“错误:元素border上的属性值table必须是 1 或空字符串。要调节表格边框的粗细,请改用 CSS。”</p>

检查您使用的工具是否具有用于控制生成的 HTML 文档中使用的文档类型 (doctype) 的选项(报告的问题是 HTML5 草案的错误,但不是根据例如 XHTML 1.0),或生成的 HTML 代码的种类,或问题报告(例如,“无警告”)。但是,如果可能的话,仅仅禁用警告可能会掩盖真正的问题。

于 2013-01-17T08:59:25.893 回答
2

您可以像这样更改代码以删除这样的警告:

<table style="width: 100%;"></table>
于 2015-06-26T11:39:40.760 回答
1

问题在于 html 报告而不是挂毯代码。生成的 html 报告使用现在已过时的 html 4 属性,如 cellpadding、cellspacing 等。这些只是 junit 测试报告。我不会被他们的 html 警告所困扰。

于 2013-01-17T05:40:31.880 回答
1

要详细说明 Kanhu 的回复,您可以在此处更改 Eclipse 中的默认 HTML doctype:

Project -> Properties -> Web Content 
于 2014-08-06T00:03:22.943 回答
1

只需在标记前包含以下代码<html>

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
于 2014-09-03T07:30:25.427 回答
0

添加样式text-align:center; 到您的 html 元素

于 2017-06-14T10:35:33.147 回答
0

您可以使用

<table data-width="100%" class="config-header-font">

代替

<table width="100%" class="config-header-font"> 

这个对我有用。

注意:它将删除警告,但可能(不确定)更改您的属性对齐位置。

于 2017-12-19T10:02:29.737 回答
-2

HTML5 不支持的 cellpadding 属性。改用 CSS。

https://www.w3schools.com/tags/att_table_cellpadding.asp

于 2017-09-12T14:03:24.957 回答