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