我有一个UI (桌面应用程序),它显示项目/存储库中所有扩展名为".java“的文件,以便用户可以选择这些文件(选定的类被添加到testng )并运行它们(桌面应用程序运行testng )。
我的要求很简单,我希望在项目/存储库中使用@test注释搜索所有方法,而不是使用文件扩展名搜索。
这可以通过testng或java反射来实现吗?请提个建议。
任何其他建议/方法也是受欢迎的。
发布于 2018-07-16 07:09:15
看看我的开源库:https://github.com/AutomatedOwl/testng-disabled-tests
private AtomicReference<String> extractJavaTestsCode(
AtomicReference<String> javaTestsCode, IInvokedMethod iInvokedMethod) {
// Search for files of java tests classes.
try (Stream<Path> paths = Files.walk(Paths.get(
System.getProperty("user.dir") + getTestsPath(iInvokedMethod)))) {
paths.filter(Files::isRegularFile)
// For each java test file, concat its string.
.forEach(file -> {
String javaTestFileCode = readLinesFromFile(file.toString());
javaTestsCode.set(
String.join("\n", javaTestsCode.get(), javaTestFileCode));
});
} catch (Exception exception) {
// Do nothing.
}
return javaTestsCode;
}
它显示给定路径中禁用的测试方法,对正则表达式解析代码稍作修改,它将完全按照您所描述的方式执行。
https://stackoverflow.com/questions/51351558
复制相似问题