Я пытался реализовать тест с помощью dbunit, но у меня не получилось.
Подводить итоги
- У меня есть XML-файл импорта для моей поддельной базы данных, inputFlatXmlDataSet.xml и
- Я создаю файл экспорта outputFlatXmlDataSet.xml
- последний тест должен убедиться, что оба файла равны
Но это не так. Невооруженным глазом разницы никакой, даже diff с eclipse или notepad++ ничего не показывает.
Я следовал этому руководству: 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, чтобы принудительно выполнить кодировку, но это ничего не изменило.
Если вам нужна дополнительная информация, пожалуйста, не стесняйтесь.
FileUtils
? Это из Apache commons-io? - person longhua   schedule 17.04.2013inputDataSetString
иoutputDataSetString
, а затем сравнить их? - person longhua   schedule 17.04.2013