尝试在测试 Bazel 角度项目中运行测试: https ://github.com/bazelbuild/rules_nodejs/tree/stable/examples/angular
运行测试:
bazel test //src/...
第一次尝试错误:
link or target filename contains space on line 2479: 'external/org_chromium_chromium_macos_x64/chrome-mac/Chromium.app/Contents/Frameworks/Chromium Framework.framework/Chromium Framework /private/var/tmp/_bazel/external/org_chromium_chromium_macos_x64/chrome-mac/Chromium.app/Contents/Frameworks/Chromium Framework.framework/Chromium Framework'
第一个问题我解决了 fith flag--nobuild_runfile_links
问题,问题是二进制路径中的空间,.../Chromium Framework.framework/Chromium Framework
对我来说真的很奇怪。
bazel test --nobuild_runfile_links //src/...
第二次尝试错误:
//src/app/hello-world:test.suite_chromium-local PASSED in 5.4s
//src/app/hello-world:test.suite_firefox-local FAILED in 181.7s
在对日志进行简短调查后,我了解到我们在 chromium 和 firefox 的两个平台上运行测试(其中 firefox 失败):
我们可以看到 Chromium 测试运行良好:
bazel test //src/app/hello-world:test.suite_chromium-local --nobuild_runfile_links
但是 Firefox 测试失败,来自日志的错误:
bazel test //src/app/hello-world:test.suite_firefox-local --nobuild_runfile_links
...
...
FirefoxHeadless failed 2 times (cannot start). Giving up.
为了解决 Firefox 问题,我刚刚在 bazel 中评论了一行:
karma_web_test_suite(
browsers = [
"@io_bazel_rules_webtesting//browsers:chromium-local",
# "@io_bazel_rules_webtesting//browsers:firefox-local",
]
)
问题:
是已知问题吗?还是我的环境问题既不是 bazel 问题?
Chrome 和 Firefox 浏览器都安装在我的 MacOS BigSur 上。