我正面临junit测试的问题。我已经编写了一个用于执行wrappertest的junitrunner。
wrappertest生成一个普通的junit测试和一个所需的文件。如果我想执行生成的测试的方法,我的运行程序会在developement工作区中搜索“neededclass”。
我正在junit工作区中生成所需的类,我希望测试使用这个生成的类文件,这样我就可以在我的开发工作区中删除这个文件。
那么,如何在junit工作区中执行生成的测试呢(他应在junit工作区中查找所需的文件)
编辑:好吧,我发现了,这是一个类加载器问题。。。开发工作区得到了另一个类加载器而不是junit工作区,这会导致错误,例如“类不是相同的类异常”(java.lang.classcastexception:org.junit.runner.junitcore不能转换为org.junit.runner.junitcore)。看来我要通过反思来解决这个问题,什么东西很脏。
1条答案
按热度按时间sqougxex1#
研究maven及其构建生命周期。您可以将正在执行的代码生成关联到generatetestsources阶段,然后让它正常地参与测试阶段。
请看这个问题的例子。