0

这是一个示例方法,解释了我想要做什么。

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");
}

我的问题是如何用另一个动作扩展 AssertJ, .extentLog(args) 方法?谢谢

4

1 回答 1

1

无法按照您的建议直接扩展 AssertJ,这意味着修改 AssertJ 核心 API。

一种选择是用 lambda 包装 assertj 断言以捕获断言错误(如果有),将其传递给范围报告以捕获错误消息(不要忘记重新抛出错误以进行失败的测试)。

于 2017-08-08T22:03:52.940 回答