无法通过 Jenkins 管道 运行 Jasmine 测试

Unable to run Jasmine tests through Jenkins pipeline

我使用以下命令 -

在 Chrome 上针对 运行 进行了 Jasmine 测试
karma start --specFileRegistry="DiagramComponent/test/DiagramComponent.specConfig.js" --outputFile="test-reports/test-case-report/NodeMappingCanvas.html"

当我从 Linux 机器上的终端 运行 但当 运行 通过 Jenkins 管道导致错误时 运行 测试成功 -

ERROR [launcher]: Cannot start Chrome
     [exec]     Fontconfig warning: "/etc/fonts/fonts.conf", line 86: unknown element "blank"
     [exec] [115058:115058:0911/171053.130462:ERROR:browser_main_loop.cc(1512)] Unable to open X display.

请建议我如何摆脱它。

Karma 正在尝试打开 Chrome window,并且由于它 运行ning 在没有 windowing 环境 (Jenkins) 的操作系统上,因此无法打开window.

您需要将 Karma 配置为使用不 运行 window 的浏览器。它被称为无头浏览器。

如今最流行的选择是使用 Headless Chrome。 karma-chrome-launcher 支持 运行ning Headless Chrome.

在您的 Karma 配置中将 browsers: ['Chrome'] 替换为 browsers: ['ChromeHeadless'] 就足够了。