2

为了自动运行我的所有测试类,我在专用目录中查找所有类文件,将路径转换为包名并检查此类是否实现给定接口:

try {
    Class<? > myTestClass = Class.forName( constructedClassName );
    if( myTestClass.isInstance( MyTestInterface.class ) ) {
        testCollection.add( myTestClass );
    }
}
catch( Error e ) {
    // ignore, no valid test class
}

今天我使用这种技术遇到了一个丑陋的错误(参见这个 SO 问题)。

问题:

如何收集我所有的测试类,而不必忽略我不感兴趣的类可能发生的错误?

4

2 回答 2

1

不加载的类有什么好处?为什么不先修复它们?你不需要在某个时候修复它们吗?

于 2010-02-05T23:43:29.373 回答
1

如何收集我所有的测试类,而不必忽略我不感兴趣的类可能发生的错误?

你有点把自己画到了一个角落里……

我要做的是以下一项(或多项):

  • 修复有问题的类,以便它们加载

  • 将类放入不同的目录,创建名称列表,或使用模式匹配来区分您添加/不想添加到的类testCollection

当然还要记录错误!!也许将它们记录在不同的地方,但如果你这样做,会在主日志中留下一个响亮的消息,告诉某人在哪里寻找详细信息。

于 2010-02-05T23:05:08.700 回答