我可以让 Java 主动抛出编译错误吗? (是的..编译错误...不是例外)
Can I make Java actively throw compile errors? (Yes.. compile errors...not exception)
有一个 class 我创建的,我只希望人们在单元测试中使用它。
@VisibleForTesting 并不理想,因为它使 class 仅在其自己的包中用于测试时可见。虽然在我的例子中,我创建的这个 class 是一个 util class 应该用于来自不同包的所有单元测试。我们不想在生产代码中使用它的原因是由于一些复杂和遗留的原因……我们想强制执行它。一言以蔽之,强制 class 只能在不同包的单元测试中使用,而不能在单元测试代码之外使用
所以我想知道最好的解决方案是什么?我认为如果在非测试 classes 中使用此 class 则使 Java 抛出编译错误是个好主意......但我不知道该怎么做,或者如果Java 完全支持它
对于 maven,在 src/test/java 源文件夹中定义 class。这仅对测试代码可见。
对于其他构建系统,请在单独的项目中进行测试和支持 classes。您不想发布测试 classes.
有一个 class 我创建的,我只希望人们在单元测试中使用它。
@VisibleForTesting 并不理想,因为它使 class 仅在其自己的包中用于测试时可见。虽然在我的例子中,我创建的这个 class 是一个 util class 应该用于来自不同包的所有单元测试。我们不想在生产代码中使用它的原因是由于一些复杂和遗留的原因……我们想强制执行它。一言以蔽之,强制 class 只能在不同包的单元测试中使用,而不能在单元测试代码之外使用
所以我想知道最好的解决方案是什么?我认为如果在非测试 classes 中使用此 class 则使 Java 抛出编译错误是个好主意......但我不知道该怎么做,或者如果Java 完全支持它
对于 maven,在 src/test/java 源文件夹中定义 class。这仅对测试代码可见。
对于其他构建系统,请在单独的项目中进行测试和支持 classes。您不想发布测试 classes.