dbunit을 사용하여 테스트를 구현하려고했지만 실패했습니다.두 개의 유사한 XML 파일을 비교하는 동안 JUnit 테스트 실패
내 가짜 데이터베이스 가져 오기 XML 파일을
- 을 요약하면, inputFlatXmlDataSet.xml 및
- 나는 내보내기 파일을 outputFlatXmlDataSet.xml
- 최종 테스트가되어 생성 두 파일이 같음을 보장합니다.
하지만 그렇지 않습니다. 육안으로는 아무런 차이가 없으며 심지어는 일식이나 메모장에서 차이가 있지만 ++는 아무 것도 보여주지 않습니다. http://www.scub-foundation.org/accueil/tutoriaux/tutorial-dbunit/
내가 두 번째 파일의 인코딩을 의심, 당신은 프랑스 튜토리얼의 경고 UTF-8, 되지하지만 난 UTF에서 쓰기를 강제로 관리하지 않았다
나는이 튜토리얼을 따라 -8.TestBUnit.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
을 추가
다음은 코드입니다.
자세한 내용을 원하면 언제든지 문의하십시오.
'FileUtils는 무엇입니까? 그것은 아파치 commons-io에서입니까? – longhua
'inputDataSetString'과'outputDataSetString'을 출력하고 비교해 보셨습니까? – longhua
가능하면이 두 개의 XML 파일을 게시하십시오. http://xmlunit.sourceforge.net/을 사용하여 XML 파일을 비교하는 것이 좋습니다. – longhua