我有一个Ant构建文件,我在其中编译应用程序和测试的Java源代码,检测应用程序类,运行JUnit测试并生成JUnit和Emma代码覆盖率报告。 JUnit任务被赋予了已检测类的路径。
问题是接口没有检测(Emma FAQ)但是我在测试中使用它们而JUnit找不到它们。
我可以想到2个解决方案:
我该如何处理并解决这个问题?
答案 0 :(得分:4)
听起来好像你说JUnit遇到了麻烦,因为接口不在类路径上?
通常的答案是将它们放在那里。
快速而肮脏的答案可能是将未检测的类的类路径放入检测类的路径之后的juint类路径中。类加载器应该使用它找到的第一个匹配,因此将使用已检测的实现而不是非检测的实现,但接口仍然可用。
如果这样可以解决您的问题,您可能希望用更强大的东西替换quick和dirty,比如在与实现分开的jar中使接口可用。