Java 扩展JUnit4.11:无根测试
目标是提供相同测试方法的不同变体(就像参数化测试一样)。问题在于,实际的必要测试运行次数取决于并在运行中被发现 最初的想法是创建测试的子元素(子元素)(使用测试方法的description对象Java 扩展JUnit4.11:无根测试,java,eclipse,junit,Java,Eclipse,Junit,目标是提供相同测试方法的不同变体(就像参数化测试一样)。问题在于,实际的必要测试运行次数取决于并在运行中被发现 最初的想法是创建测试的子元素(子元素)(使用测试方法的description对象addChild) 运行代码时,Eclipse视图显示所有发现的和执行的测试都放在“无根测试”下。使用测试方法的description实例的description.getTestClass()方法描述测试 是否有人能解释发生了什么,如果可能的话给出解决方案 我扩展了BlockJUnit4ClassRunne
addChild
)
运行代码时,Eclipse视图显示所有发现的和执行的测试都放在“无根测试”下。使用测试方法的description实例的description.getTestClass()方法描述测试
是否有人能解释发生了什么,如果可能的话给出解决方案
我扩展了BlockJUnit4ClassRunner。还可以使用
Description.addChild
添加一个子项。eclipse的测试运行程序是一个名为RemoteTestRunner的定制实现。从其源代码中,我了解到侦听器机制不负责创建测试用例树,而是负责创建实际的运行器结构(getDescription)和实际的子级。但同样不是描述的子对象,而是每个Runner实例的子对象
总而言之,代码比它应该的更难阅读和理解
因此,无根测试用例只是侦听器进程报告的测试,但无法与实际的运行程序结构正确匹配。您看过了吗?是的。这个问题是不同的。问题可能与动态扩展测试用例套件有关。它缝合了几乎没有记录的边缘情况。我将进行模拟测试运行(仅报告使用不同数据结构的内容),并查看它是否正确显示。也许我会有更深入的了解。我一直希望避免这种情况。