1
我有一個日誌文件,它是Nunit Runner的日誌輸出篩選日誌文件
我想通過解析文件來提取數據;
下面是示例日誌文件:
我想提取測試計數,通過和失敗的測試
如何使用正則表達式來獲取數據。
我使用模式和掃描儀類來掃描數據。
這裏是我用來讀取文件
更新示例功能:
我已經用下面的代碼中提取測試結果,我想對這個代碼的建議:
public int FilterLogFile(File LogFile) {
int TestCount = 0;
try {
String Line = "";
BufferedReader br = new BufferedReader(new FileReader(LogFile));
while ((Line = br.readLine()) != null) {
Scanner scanner = new Scanner(Line);
String line = scanner.findInLine(".*(Test Count:)\\s+\\d+\\D+\\s+.*(Passed:)\\s+\\d+\\D+\\s+.*(Failed:)\\s+\\d+");
if (line != null) {
System.out.println("Detected Line: " + line);
TestCount = ExtractData(Line);
break;
} else {
continue;
}
}
} catch (Exception ex) {
ex.printStackTrace();
}
return TestCount;
}
private int ExtractData(String strLine) {
int Count = 0;
try {
String[] Data = strLine.split(",");
for (String str : Data) {
if (str.contains("Test Count:")) {
int value = Integer.parseInt(str.replaceAll("[^0-9]", ""));
Count = value;
System.out.println(value);
break;
}
}
} catch (Exception ex) {
ex.printStackTrace();
}
return Count;
}
樣本記錄我的工作是:
發佈文字圖像的相反,你可能要發佈文字代替(有標記代碼等)。另外,你到目前爲止做了什麼?你會如何嘗試提取數據?你對正則表達式有什麼瞭解? (如果你不太瞭解,我建議你先拿一些關於這些的教程,然後自己嘗試一下)。 – Thomas
我建議您從NUnit生成的xml結果文件中解析這些信息。日誌輸出在未來的NUnit版本中可能會更改。 – Chris