Bazel 使用--Test_env缓存测试结果

Bazel 使用--Test_env缓存测试结果,bazel,Bazel,是否有方法标记某些--test_env值以不影响测试结果的可缓存性 我有一个场景,其中存在一个固定的n测试资源池。我使用--local\u test\u jobs=n将测试并行化的级别设置为不超过这个池的大小。资源由一个小守护进程管理,该守护进程在调用bazel test之前启动。使用--test\u env传入此守护程序的端口。除非我们希望使用固定端口号,否则每次传入不同的端口号时,bazel test将拒绝使用缓存的测试结果,因为操作环境已更改 这可能吗?如果没有,是否有其他机制可以提供类似

是否有方法标记某些
--test_env
值以不影响测试结果的可缓存性

我有一个场景,其中存在一个固定的
n
测试资源池。我使用
--local\u test\u jobs=n
将测试并行化的级别设置为不超过这个池的大小。资源由一个小守护进程管理,该守护进程在调用
bazel test
之前启动。使用
--test\u env
传入此守护程序的端口。除非我们希望使用固定端口号,否则每次传入不同的端口号时,
bazel test
将拒绝使用缓存的测试结果,因为操作环境已更改


这可能吗?如果没有,是否有其他机制可以提供类似的功能?

如果您可以通过网络调用从测试中获取端口号,并在测试过程中进行调用,则不必使用--test_env传递端口号,所有测试运行都将被正确缓存。有意义吗?

网络呼叫到何处?这一切都在一台机器上。它正在与本地主机上的端口通信。也许是zeroconf服务发现之类的东西?您希望使测试不依赖于test_env。我建议在测试中硬编码端口号。但是,由于您可能希望对其进行配置,例如使用多个守护进程运行多个测试,因此最好添加另一个服务(套接字、文件等),该服务将告诉测试守护进程要使用哪个端口号。我建议让测试不那么封闭,因为你不想封闭。