是否有一种方法可以确定测试中调用的断言计数?我正在使用JUnit 5 Platform Launcher,可以在每个测试标识符中计算通过和失败的次数,但是不能计算断言。这对于结果分析和报告非常重要,因为并非每个测试都具有相同的“密度”,而不是长远的眼光。
我可以为每个增加计数或将硬编码总和存储在测试注释中的断言提供包装,但是前者引入了一个合约,仅对于JUnit 5中的简单hack,必须坚持该合约,否则可以忽略该合约,并且后者涉及大量手动计数。赞赏。
import static org.junit.jupiter.api.Assertions.assertEquals;
...
int index = 0;
while (index < testValueCount){
assertTrue(testValue[index]>0); // Want to capture testValueCount assertions here, not 1 (or none)
++index;
}
答案 0 :(得分:2)
否,很遗憾,这不可能。
JUnit平台和JUnit Jupiter都不提供跟踪执行的断言数量的方法。
如果您确实需要这样的功能,则要么需要自己包装断言调用,要么需要找到一个支持调用跟踪的断言框架。