【发布时间】:2019-12-04 20:00:27
【问题描述】:
我们有一组在本地 Web 服务器上成功运行的 Jasmine 测试。 http-server。
我们希望在 TeamCity 构建过程中从命令行运行这些测试,不必启动网络服务器。
使用 --disable-web-security 标志使用 chrome 打开 html 文件会导致
加载模块脚本失败:服务器响应 “”的非 JavaScript MIME 类型。强制执行严格的 MIME 类型检查 用于每个 HTML 规范的模块脚本。
可能是因为 SpecRunner.html 文件中带有 type="module" 的脚本引用
<script src="../src/js/App/app.js" type="module"></script>
Jasmine 测试与 DOM/jQuery 耦合,因此它们需要在浏览器中运行。 SpecRunner html 页面包含 type="module" 的脚本引用。
如果有任何测试失败,我们如何在 TeamCity 构建期间运行这些测试并导致构建失败?
谢谢。
【问题讨论】:
-
由于打开本地 html 文件时不涉及 Web 服务器,因此不确定如何添加 mime 类型。也许我们应该咬紧牙关,启动一个 Web 服务器,在浏览器中运行测试,检查控制台消息,看看在构建过程中是否有任何故障。
标签: jasmine continuous-integration jestjs teamcity jest-puppeteer