【发布时间】:2021-10-07 16:39:52
【问题描述】:
我创建了一个类,我只希望人们在单元测试中使用它。
@VisibleForTesting 并不理想,因为它使类仅在其自己的包中对测试可见。在我的例子中,我创建的这个类是一个 util 类,应该用于来自不同包的所有单元测试。我们不想在生产代码中使用它的原因是由于一些复杂和遗留的原因......我们想要强制执行它。一言以蔽之,强制一个类只能在不同包的单元测试中使用,而不是在单元测试之外的代码中使用
所以我想知道最好的解决方案是什么?如果在非测试类中使用此类,我认为让 Java 抛出编译错误是个好主意......但我不知道该怎么做,或者它是否完全受 Java 支持
【问题讨论】:
-
你建设得怎么样了?例如,在
src/test包中的典型 Maven/Gradle 设置类中,src/main包中将无法使用 IIRC。 -
我明白了。现在我们正在使用 BUCK,但由于 BUCK 文件中有一个名为“maven_coords”的属性,我猜在底部它使用的是 maven
标签: java compiler-errors