java扩展JUnit4.11:无根测试
目标是提供相同测试方法的不同变体(就像参数化测试一样)。问题在于,实际的必要测试运行次数取决于并在运行中被发现
最初的想法是创建测试的子元素(子元素)(使用测试method的description对象addChild
)
运行代码时,Eclipse视图显示所有发现的和执行的测试都放在“无根测试”下。使用说明描述测试。getTestClass()方法测试方法的描述实例
是否有人能解释发生了什么,如果可能的话给出解决方案
我扩展了BlockJUnit4ClassRunner。也可以使用Description.addChild
添加一个子元素
# 1 楼答案
eclipse的测试运行程序是一个名为RemoteTestRunner的自定义实现。从其源代码中,我了解到侦听器机制不负责创建测试用例树,而是负责创建实际的运行器结构(getDescription)和实际的子级。但同样不是描述的子对象,而是每个Runner实例的子对象
总而言之,代码比它应该的更难阅读和理解
因此,无根测试用例只是侦听器进程报告的测试,但无法与实际的运行器结构正确匹配