在Java中,是否有一种通用的方法可以通过任何方式将方法的代码嵌入到日志中?我在 Cucumber 工作,尽管它倾向于(或者是?)不好的做法,但合规部门希望看到打印在报告中的“Then”语句背后的断言(他们无法访问源代码)。写入日志是最简单的部分,但是如何以通用方式读取“@Then”后面的方法中的所有内容?
所以只是给你一个示例方法的想法:
@Then("^my profile information is retrieved with success")
public void validateProfileInformation() {
assertThat(..).isEqualTo(..);
assertThat(..).isEqualTo(..);
assertThat(..).isEqualTo(..);
assertThat(..).isEqualTo(..);
assertThat(..).isEqualTo(..);
assertThat(..).isEqualTo(..);
if (this){
x = y;
}
}
Run Code Online (Sandbox Code Playgroud)
日志中需要写什么:
SOME HEADER TEXT
assertThat(..).isEqualTo(..);
assertThat(..).isEqualTo(..);
assertThat(..).isEqualTo(..);
assertThat(..).isEqualTo(..);
assertThat(..).isEqualTo(..);
assertThat(..).isEqualTo(..);
**Optionally:**
if (this){
x = y;
}
Run Code Online (Sandbox Code Playgroud)
所以我真的需要未执行的代码(测试失败和通过时),不需要结果。最好像通用方法或拦截器一样,以便它可以应用于整个项目,而不必将其添加到每个方法中。朝着正确的方向推动将不胜感激。