![](/img/trans.png)
[英]How to ignore specfic xml elements using xmlunit when comparing two xml files in junit
[英]JUnit test failure while comparing two similar xml files
我嘗試用dbunit實現測試但是我失敗了。
總結一下
但他們不是。 肉眼沒有區別,甚至與日食或記事本的差異++都沒有顯示任何東西。
我遵循了這個教程: http : //www.scub-foundation.org/accueil/tutoriaux/tutorial-dbunit/
我警告你這是一個法語教程,我懷疑第二個文件的編碼不是UTF-8,但我沒有設法強制寫入UTF-8。
除了TestDBUnit.java之外,所有文件和代碼都與教程中的相同。
這是代碼:
public void testExportData() throws Exception {
// On récupère le jeu de données du fichier XML
IDataSet dataSet = getDatabaseDataSet();
// Fichier XML du jeu de données d'import
File inputFile = new File(INPUT_DATA_SET_FILENAME);
// On vérifie que le fichier existe
assertNotNull(inputFile);
// Fichier XML du jeu de données d'export
File outputFile = new File(OUTPUT_DATA_SET_FILENAME);
FileOutputStream(outputFile), "UTF-8")));
FlatXmlDataSet.write(dataSet, new OutputStreamWriter(new FileOutputStream(outputFile), "UTF-8"));
// On compare les deux fichiers XML pour vérifier qu'ils sont identiques
String inputDataSetString = FileUtils.readFileToString(inputFile/*,
"UTF-8"*/).replace(" ", "\t").trim();
String outputDataSetString = FileUtils.readFileToString(outputFile/*,
"UTF-8"*/).replace(" ", "\t").trim();
assertEquals(inputDataSetString, outputDataSetString);//The failure
我只是添加一個OutputStreamWriter
作為Wrapper來強制編碼,但它沒有改變任何東西。
如果您想了解更多詳情,請不要猶豫。
使用字符串相等來比較XML文件是不明智的,除非您正在測試XML生成庫並關心漂亮的打印。
在所有其他情況下,您可能關心兩個文件的語義相等性(即它們是否包含相同的數據? )。 為了幫助進行這樣的比較,請考慮使用XMLUnit 。 這將比較文件的內容,而不必擔心空格或編碼。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.