这是一个解释我想做什么的示例方法。
public void myMethod(Method m){
report = new ExtentReports("filename");
test = report.startTest("testName");
String actual = "sssssss";
String expected = "xxxxxxxx";
// what I can do with AssertJ id have a nice readable test
assertThat(actual).isEqualTo(expected).withFailMessage("BOINK!");
// what I can do with ExtentReports
if (!actual.equals(expected)) test.log(LogStatus.FAIL, "BOINK");
// what I want to extend assertJ to do
assertThat(actual).isEqualTo(expected).extentLog(test, LogStatus.FAIL, "BOINK");
}
我的问题是如何使用另一个动作,.extentLog(args)方法扩展AssertJ? 谢谢
答案 0 :(得分:1)
没有办法像你建议的那样直接扩展AssertJ,这意味着要修改AssertJ核心API。
一个选项是使用lambda包装assertj断言以捕获断言错误(如果有的话),将其传递到扩展报告以捕获错误消息(不要忘记重新抛出错误以进行失败的测试)