为什么Junit的@Test方法必须是public的呢?
最近有部门内部再次推广自动化,有同学问我,为什么@Test方法需要必须是public void开头呢?我用其他方法可行不?
通过分析错误信息和源码发现,在junit测试里定义明确要求@Test方法必须是以public void开头。说明如下:
|
|
原因是,Junit方法会对标注了@Test的创建实例,然后去执行它们,由于Java的安全机制,因此只有把测试方法设置为public的才能够被Junit框架访问,所以测试用例也就是以public开头的咯!
至于为什么返回值是Void,我的理解是,测试框架不好对返回值进行处理,就干脆要求为空了。
附:java 四种修饰符和作用范围: