Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
File 使用Junit比较两个xml文件_File_Junit_Comparison - Fatal编程技术网

File 使用Junit比较两个xml文件

File 使用Junit比较两个xml文件,file,junit,comparison,File,Junit,Comparison,我正在编写一个JUnit测试用例,它想测试一个特定的文件是否添加了一些内容。在这种情况下,我希望得到修改前文件的实例和修改后同一文件的另一个文件实例,并希望检查两者是否不相等。如何在Java Junit中实现这一点?获取XML的字符串表示形式(toString),并对其进行比较。有一些用于此目的的工具,例如 XMLUnit可以忽略空白和格式,我认为它们无关紧要,还可以处理比较 <stuff/> 及 谢谢您的回复。我可以知道如何在不同的时间获取同一文件的实例吗。我的意思是在xm

我正在编写一个JUnit测试用例,它想测试一个特定的文件是否添加了一些内容。在这种情况下,我希望得到修改前文件的实例和修改后同一文件的另一个文件实例,并希望检查两者是否不相等。如何在Java Junit中实现这一点?

获取XML的字符串表示形式(
toString
),并对其进行比较。

有一些用于此目的的工具,例如

XMLUnit可以忽略空白和格式,我认为它们无关紧要,还可以处理比较

<stuff/>



谢谢您的回复。我可以知道如何在不同的时间获取同一文件的实例吗。我的意思是在xml文件中发生更改之前和之后。您可以在更改之前创建一个重复的文件,然后比较两者吗?有关复制文件的详细信息,请参见。如果内容足够小,也可以将其保存在内存中。一个是我修改的实际文件,另一个是预期文件,即该文件将具有预期输出。如果我使用FileAssert类的assertbinaryEquals或assertEquals方法,即使两个文件中的内容相等,我也会得到testcase失败。我可以知道它不工作的原因和原因吗?抛出的异常(AssertionFailedError)是否提供了相关信息?为了避免猜测,文件属性(上次修改等)可能不同?恐怕我不知道这种比较有多大的意义。如果以字符串形式读取文件,则可以完全避免使用FileAssert。这只适用于非常短的XML片段。在调试两大块XML上的比较失败时,基本上必须将输出复制/粘贴到diff编辑器中,以查看哪里出了问题。此外,它不考虑空格或其他格式。如果你没有办法考虑可忽略的空格,这并不像最初看起来的那样有用。@james.garriss-这取决于“相同”的含义,至于OP,你想考虑<代码> <代码>和<代码> <代码>是相等的还是不同的?此外,XML属性的顺序是否重要?
<stuff></stuff>