是否有方法在TestNG
/JUnit
(或任何其他JUnit
测试框架)中创建自定义单元测试结果?我知道单元测试可以通过,也可以失败(或者被忽略),但目前我真的希望有第三种选择。
我现在工作的公司已经采用了巧妙地比较应用程序屏幕截图的测试风格,所以当屏幕截图与预定的容忍度不匹配时,测试既可以通过,也可以失败,也可以是差异。此外,他们有自己的内部测试“框架”和跑步者。这是在我加入之前很久就做的。
我想要做的是将测试框架迁移到标准框架之一,但是这个过程应该是非常渐进的。
我考虑的方法是创建一个特殊的异常(例如DiffTolleranceExcededException
),失败测试,然后在报告中定制测试结果。
发布于 2016-02-03 00:07:13
也许你已经是指
我考虑的方法是创建一个特殊的异常(例如DiffTolleranceExcededException),失败测试,然后在报告中定制测试结果。
但是以防万一:您当然可以利用这种可能性给断言提供一个预定义的消息字符串。在您的情况下,如果截图相同,测试就会通过。如果它们太不一样的话,测试就会失败。如果他们是在宽容的范围内,你让他们失败的信息,像“不同但内部-宽容”或其他什么-这些失败是很容易区分的。当然,您也可以颠倒逻辑:向不在容忍范围内的失败添加一条消息,以使这些故障在视觉上突出。
发布于 2016-01-18 10:43:35
您应该遵循this approach来自定义我们的测试报告,添加一个关于测试报告的新列,并创建您的测试报告(例如,用屏幕截图)。
https://stackoverflow.com/questions/34851052
复制相似问题