java - 我可以让 Java 主动抛出编译错误吗?(是的..编译错误...不是例外)
问题描述
我创建了一个类,我只希望人们在单元测试中使用它。
@VisibleForTesting 并不理想,因为它使类仅在其自己的包中对测试可见。在我的例子中,我创建的这个类是一个 util 类,应该用于来自不同包的所有单元测试。我们不想在生产代码中使用它的原因是由于一些复杂和遗留的原因......我们想要强制执行它。一言以蔽之,强制一个类只能在不同包的单元测试中使用,但不能在外部单元测试代码中使用
所以我想知道最好的解决方案是什么?我认为如果在非测试类中使用这个类,让 Java 抛出编译错误是个好主意......但我不知道该怎么做,或者它是否完全受 Java 支持
解决方案
对于 maven,在 src/test/java 源文件夹中定义类。这仅对测试代码可见。
对于其他构建系统,将您的测试和支持类放在一个单独的项目中。您不想发布测试课程。
推荐阅读
- python - 测量两个日期之间的月份:月份的立法定义
- c++ - 将数据推送到循环中的向量时出现问题
- java - 功能接口的 Lambda 实现返回“未实现的方法”错误 - 但程序有效
- c# - 我无法触发 SqlDependency,我做错了什么吗?
- java - 调用 DatePickerDialog Show 时无法添加窗口异常
- c++ - RDTSC : 返回循环结束前的时间
- python - 在 Flake8 中启用所有警告?
- azure-storage - 如何在 .Net 的 Azure 存储数据移动库中设置 Blob 层
- mediawiki - 运行 facebook-mediawiki 工作负载时出现围攻错误
- java - 从maven项目中的主包访问测试资源