我遇到了JUnit测试的问题。我编写了一个用于执行WrapperTest的JUnitRunner。
WrapperTest生成一个简单的JUnit-Test和一个所需的文件。如果我想执行生成的测试的方法,我的Runner会在Developement-Workspace中搜索“NeededClass”。
我正在JUnit-Workspace中生成所需的类,我希望测试使用这个生成的类文件,所以我可以在我的Develop-Workspace中删除这个文件。
那么,我如何在JUnit-Workspace中执行生成的测试? (他将在JUnit-Workspace中查找所需文件)
编辑:好的,我发现,这是一个ClassLoader问题......开发工作区得到了另一个比JUnit-Workspace更多的ClassLoader,这会导致出现错误,例如“类不是同一个类Exception”( java.lang.ClassCastException:org.junit.runner.JUnitCore无法强制转换为org.junit.runner.JUnitCore )。看起来我必须通过反射解决这个问题,这是非常脏的。
答案 0 :(得分:-1)
了解Maven及其build lifecycle。您可以将正在执行的代码生成连接到generate-test-sources阶段,然后让它在测试阶段正常参与。
有关示例,请参阅this question。