Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/EmptyTag/146.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 扩展JUnit4.11:无根测试_Java_Eclipse_Junit - Fatal编程技术网

Java 扩展JUnit4.11:无根测试

Java 扩展JUnit4.11:无根测试,java,eclipse,junit,Java,Eclipse,Junit,目标是提供相同测试方法的不同变体(就像参数化测试一样)。问题在于,实际的必要测试运行次数取决于并在运行中被发现 最初的想法是创建测试的子元素(子元素)(使用测试方法的description对象addChild) 运行代码时,Eclipse视图显示所有发现的和执行的测试都放在“无根测试”下。使用测试方法的description实例的description.getTestClass()方法描述测试 是否有人能解释发生了什么,如果可能的话给出解决方案 我扩展了BlockJUnit4ClassRunne

目标是提供相同测试方法的不同变体(就像参数化测试一样)。问题在于,实际的必要测试运行次数取决于并在运行中被发现

最初的想法是创建测试的子元素(子元素)(使用测试方法的description对象
addChild

运行代码时,Eclipse视图显示所有发现的和执行的测试都放在“无根测试”下。使用测试方法的description实例的description.getTestClass()方法描述测试

是否有人能解释发生了什么,如果可能的话给出解决方案


我扩展了BlockJUnit4ClassRunner。还可以使用
Description.addChild
添加一个子项。

eclipse的测试运行程序是一个名为RemoteTestRunner的定制实现。从其源代码中,我了解到侦听器机制不负责创建测试用例树,而是负责创建实际的运行器结构(getDescription)和实际的子级。但同样不是描述的子对象,而是每个Runner实例的子对象

总而言之,代码比它应该的更难阅读和理解


因此,无根测试用例只是侦听器进程报告的测试,但无法与实际的运行程序结构正确匹配。

您看过了吗?是的。这个问题是不同的。问题可能与动态扩展测试用例套件有关。它缝合了几乎没有记录的边缘情况。我将进行模拟测试运行(仅报告使用不同数据结构的内容),并查看它是否正确显示。也许我会有更深入的了解。我一直希望避免这种情况。