有没有办法在TestNG
/ JUnit
(或任何其他Java测试框架)中创建自定义单元测试结果?我知道单元测试可以通过,也可以失败(或忽略),但目前我真的希望有第三种选择。
我现在正在使用的公司已经采用了巧妙地比较其应用程序屏幕截图的测试方式,因此当屏幕截图与预定容差不匹配时,测试可以通过,失败或差异。此外,他们还有自己的内部测试框架和#34;和跑步者。这是在我加入之前做的。
我想要做的是将测试框架迁移到标准框架之一,但这个过程应该是非常渐进的。
我正在考虑的方法是创建一个特殊的异常(例如DiffTolleranceExcededException
),测试失败,然后在报告中自定义测试结果。
答案 0 :(得分:1)
您应该按照this approach自定义我们的测试报告,在测试报告中添加新列并创建测试报告(例如屏幕截图)。
答案 1 :(得分:1)
也许你的意思是
我正在考虑的方法是创建一个特殊的例外 (例如DiffTolleranceExcededException),测试失败然后 在报告中自定义测试结果。
但是以防万一:您当然可以使用为断言提供预定义消息字符串的可能性。在您的情况下,如果屏幕截图相同,则测试通过。如果它们太不同,那么测试就会失败。如果它们在容忍范围内,则会使它们失败,并显示消息,例如"不同但在容忍之内"或者其他 - 这些失败很容易区分。当然,您也可以反转逻辑:向不在容差范围内的故障添加消息,使这些视觉突出。