有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

单元测试在moduleinfo中有条件地“使用”、“提供”等。JAVAJVM命令行?

我想创建的单元测试之一是使用ServiceLoader在该模块中本地加载正在测试的服务

module {
  ...
  provides foo.bar.Baz with foo.bar.Bazoikle;
  uses foo.bar.Baz; // yuck!
  ...
}

uses放在provides旁边似乎很奇怪/恶心/错误。但这正是本地模块测试所需要的,它将告诉我是否正确公开了服务。我们的集成套件中的一个基本相同的测试将显示它可以正确导入,从而暴露潜在的配置错误。当本地曝光时间过去,集成失败时,它对我说“是时候再次更新build.gradle了”,这表明其他人应该如何做

因此,除了将我的测试转移到其他模块/项目(这是我的集成测试已经处理过的情况)之外,我还能做些什么来避免发送一个usesprovides的服务的模块吗

编辑: JVM有几个用于各种模块更改的命令行选项,适用于测试环境、等等。然而,对于上述模块提供或使用的服务,似乎没有任何类似的设置。我错过什么了吗


共 (0) 个答案