junit can’t find class xxx 原因分析:
使用junit做单元测试时,run as junit 是直接运行系统编译后的java代码,也就是class代码。junit会在工程下找到要运行的class,并运行他指定的方法。
那么问题来了,我写的java类明明在工程下,而且web容器启动后一切都正常运行,为什么用junit就找不到类了呢?
第一感觉是junit配置问题,没有继承testCase(因为用的是别人写的case),但查看了,配置正常。那么问题肯定出在java的编译路径了。
default output folder 是文件编译后的输出路径,网上有人说在改了这个路径后,junit可以找到类的,个人认为只是碰巧了吧。毕竟junit搜寻的是整个工程。
真正的问题在于source 功能项中所包含的内容,这是决定IDE编译哪些java文件到output folder的基础。如果你的source配置中没有test路径,那么test下的所有java文件都不会被编译到指定位置,到此运行junittest 找不到类的小坑也就爬出来了。