为什么JUnit 5中的默认访问修饰符是package-private?
JUnit 4中的测试必须公开。
将其更改为package-private有什么好处?
为什么JUnit 5中的默认访问修饰符是package-private?
这不是“默认”。技术上没有默认值。相反,在JUnit Jupiter中你可以选择:public
,protected
或package-private。
将其更改为package-private有什么好处?
好处是你没有类型public
了。如果您的IDE自动为您生成public
的测试方法和测试类,请随时留下public
。
但是......如果你自己输入这些方法,那么除非你设计的测试类用于从其他包中进行子类化,否则不要使用public
,在这种情况下,你想要使用可重写的测试方法public
或protected
。当然,接口default
方法必须是public
。
简而言之,简称:我们(JUnit 5团队)相信“少即是多”这一原则,这意味着您为实现目标而打字越少越好!
这是JUnit 5 feature,它为测试类和方法提供了更好的封装
让Jupiter测试包私有#679
测试类主要位于测试类的same package中:
更好的方法是将测试放在具有包对齐的单独并行目录结构中。
main/ test/ com/ com/ xyz/ xyz/ 📜 SomeClass.java 🔨 SomeClassTests.java
此方法允许测试代码访问所测试的类的所有公共和包可见成员。