繁体   English   中英

为什么JUnit 5默认访问修饰符更改为package-private

[英]Why JUnit 5 default access modifier changed to package-private

为什么JUnit 5中的默认访问修饰符是package-private?

JUnit 4中的测试必须公开。

将其更改为package-private有什么好处?

为什么JUnit 5中的默认访问修饰符是package-private?

这不是“默认”。 技术上没有默认值。 相反,在JUnit Jupiter中你可以选择: publicprotected或package-private。

将其更改为package-private有什么好处?

好处是你不再有public类型了。 如果您的IDE自动为您public生成测试方法和测试类,请随时将它们public

但是......如果你自己输入方法,那么就不要public除非你是为其他包的子类设计测试类,在这种情况下你想让你的可重写测试方法publicprotected 当然,接口default方法必须是public

简而言之,简称:我们(JUnit 5团队)相信“少即是多”这一原则,这意味着您为实现目标而打字越少越好!

这是JUnit 5的一个特性 ,它为测试类和方法提供了更好的封装

让Jupiter测试包私有#679

测试类大多位于测试类的同一个包中:

更好的方法是将测试放在具有包对齐的单独并行目录结构中。

 main/ test/ com/ com/ xyz/ xyz/ 📜 SomeClass.java 🔨 SomeClassTests.java 

此方法允许测试代码访问所测试的类的所有公共和包可见成员。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM