正如bazel测试百科全书所说,UTC
是bazel时区。我想知道有什么方法可以让bazel使用系统区域,Local
?
答案 0 :(得分:1)
您可以使用--action_env
传递环境值,例如
bazel test --test_output=all --action_env=TZ=Local :tz_test
INFO: From Testing //:tz_test:
==================== Test output for //:tz_test:
timezone: Local
================================================================================
Target //:tz_test up-to-date:
bazel-bin/tz_test
INFO: Elapsed time: 1.034s, Critical Path: 0.05s
//:tz_test PASSED in 0.0s
请注意,这不会“取消缓存”测试结果,因此您必须先运行bazel clean
才能让bazel获取环境变量更改。我就此提出了a bug。
答案 1 :(得分:0)
如果测试是java_test
,则可以使用user.timezone
JVM标志作为java_test
规则的属性。如,
java_test(
name = "Test",
test_class = "TZTest",
srcs = [
"TZTest.java",
],
jvm_flags = [
"-Duser.timezone=EST",
],
)
您可以确认这适用于TimeZone.getDefault().getDisplayName()
。