TestNG XML 不合法。

3

我有一些生成的TestNG XML文件,长期以来都可以正常运行,但最近当我通过Java的SAXParser和http://www.xmlvalidation.com/运行它们时,它们都无效了。

示例生成的XML:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite thread-count="1" verbose="2" name="TestNG Forum" parallel="tests">
  <test name="TestNG Test0" preserve-order="false">
    <parameter name="device" value="58f56054954b6b3e323a3405fc49023eb1569a98"/>
    <packages>
      <package name="output"/>
    </packages>
  </test> <!-- TestNG Test0 -->
</suite> <!-- TestNG Forum -->

以下是来自TestNG网站的示例XML @ http://testng.org/doc/documentation-main.html

<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >

<suite name="Suite1" verbose="1" >
  <test name="Nopackage" >
    <classes>
       <class name="NoPackageTest" />
    </classes>
  </test>

  <test name="Regression1">
    <classes>
      <class name="test.sample.ParameterSample"/>
      <class name="test.sample.ParameterTest"/>
    </classes>
  </test>
</suite>

这些XML突然无效了是为什么?是testng托管的DTD中出现了错误吗?DTD是否突然改变了?

编辑: XML解析错误:

1:  3   The markup declarations contained or pointed to by the document type declaration must be well-formed.

解析错误是什么?顺便说一下,DTD有时会更改(https://github.com/cbeust/testng/commits/master/src/main/resources/testng-1.0.dtd),最新版本已在几小时前部署:https://github.com/cbeust/testng/issues/1383 - juherr
编辑后附带解析错误。我明白了,最新版本可能导致了这些错误。我会在 Github 的问题页面上发布此链接,谢谢。 - Bruce Tu
在此创建了一个 Github 问题,供有兴趣的人参考:https://github.com/cbeust/testng/issues/1385 - Bruce Tu
1个回答

1
我们与团队进行了调查,目前怀疑是XML解析器没有遵守301重定向。
我刚刚删除了重定向并恢复了http://testng.org/testng-1.0.dtd上的文件,请再试一次。
如果这个方法有效,我很想知道为什么您的应用程序从网络中获取此DTD而不是使用TestNG jar文件中提供的DTD,但我们可以在另一个问题中讨论。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接