Java 自定义单元测试结果

Java 自定义单元测试结果,java,unit-testing,testing,Java,Unit Testing,Testing,有没有办法在TestNG/JUnit(或任何其他Java测试框架)中创建自定义单元测试结果?我知道单元测试可以通过,也可以失败(或忽略),但目前我真的希望有第三种选择 我现在所在的公司采用了测试风格,巧妙地比较了他们应用程序的屏幕截图,因此当屏幕截图与预定公差不匹配时,测试可以通过、失败或差异。此外,他们有自己的内部测试“框架”和运行程序。这是在我加入之前很久做的 我想做的是将测试框架迁移到标准框架之一,但这个过程应该是非常渐进的 我考虑的方法是创建一个特殊的异常(例如,Difftoleranc

有没有办法在
TestNG
/
JUnit
(或任何其他Java测试框架)中创建自定义单元测试结果?我知道单元测试可以通过,也可以失败(或忽略),但目前我真的希望有第三种选择

我现在所在的公司采用了测试风格,巧妙地比较了他们应用程序的屏幕截图,因此当屏幕截图与预定公差不匹配时,测试可以通过、失败或差异。此外,他们有自己的内部测试“框架”和运行程序。这是在我加入之前很久做的

我想做的是将测试框架迁移到标准框架之一,但这个过程应该是非常渐进的


我考虑的方法是创建一个特殊的异常(例如,
DifftoleranceExcepedException
),测试失败,然后在报告中自定义测试结果。

您应该按照自定义我们的测试报告,在测试报告中添加一个新列,并创建您的测试报告(例如屏幕截图).

您应该按照我们的要求定制测试报告,在测试报告中添加一个新列,并创建您的测试报告(例如屏幕截图)。

也许您的意思是

我考虑的方法是创建一个特殊的异常 (例如,DifftoleranceExcepedException),测试失败,然后 在报告中自定义测试结果


但以防万一:您当然可以使用这种可能性为断言提供预定义的消息字符串。在您的情况下,如果截图相同,则测试通过。如果它们差异太大,测试就会失败。如果它们在公差范围内,您会通过“不同但在公差范围内”之类的消息使它们失败——这样就可以很容易地区分这些失败。当然,您也可以颠倒逻辑:为不在公差范围内的故障添加一条消息,以使这些故障在视觉上突出。

也许您的意思是:

我考虑的方法是创建一个特殊的异常 (例如,DifftoleranceExcepedException),测试失败,然后 在报告中自定义测试结果


但以防万一:您当然可以使用这种可能性为断言提供预定义的消息字符串。在您的情况下,如果截图相同,则测试通过。如果它们差异太大,测试就会失败。如果它们在公差范围内,您会通过“不同但在公差范围内”之类的消息使它们失败——这样就可以很容易地区分这些失败。当然,您也可以颠倒逻辑:为不在公差范围内的故障添加一条消息,使其在视觉上突出。

您可以这样做,但您需要编写自己的报告工具。支持JUnit和TestNG(IDE集成、持续集成工具等)的工具都无法轻松更新以识别新的测试状态。如果它在公差范围内匹配,则通过测试。如果在公差范围内不匹配,则失败。为什么需要第三个选项?@Manu,测试可能会因异常而失败。对于selenium,这可能是TimeOutException或ElementNotFoundException,并以这种方式使测试失败。您可以这样做,但您需要编写自己的报告工具。支持JUnit和TestNG(IDE集成、持续集成工具等)的工具都无法轻松更新以识别新的测试状态。如果它在公差范围内匹配,则通过测试。如果在公差范围内不匹配,则失败。为什么需要第三个选项?@Manu,测试可能会因异常而失败。对于selenium,这可能是TimeOutException或ElementNotFoundException,并以这种方式使测试失败。谢谢。这可能会有帮助,谢谢你。这可能会有帮助