通过CI的命令行运行Jasmine测试(耦合到DOM/jquery等)
我们有一组Jasmine测试,它们在本地web服务器上成功运行 我们希望在TeamCity构建过程中从命令行运行这些测试,而无需启动Web服务器 使用--disable web security标志打开带有chrome的html文件会导致 加载模块脚本失败:服务器以错误响应 非JavaScript MIME类型为“”。执行严格的MIME类型检查 对于符合HTML规范的模块脚本 可能是因为脚本引用SpecRunner.html文件中的type=“module”通过CI的命令行运行Jasmine测试(耦合到DOM/jquery等),jasmine,continuous-integration,jestjs,teamcity,jest-puppeteer,Jasmine,Continuous Integration,Jestjs,Teamcity,Jest Puppeteer,我们有一组Jasmine测试,它们在本地web服务器上成功运行 我们希望在TeamCity构建过程中从命令行运行这些测试,而无需启动Web服务器 使用--disable web security标志打开带有chrome的html文件会导致 加载模块脚本失败:服务器以错误响应 非JavaScript MIME类型为“”。执行严格的MIME类型检查 对于符合HTML规范的模块脚本 可能是因为脚本引用SpecRunner.html文件中的type=“module” <script src="
<script src="../src/js/App/app.js" type="module"></script>
Jasmine测试与DOM/jQuery耦合,因此它们需要在浏览器中运行。SpecRunner html页面包含type=“module”的脚本引用
我们如何在TeamCity构建期间运行这些测试,并在测试失败时使构建失败
谢谢。这是我的解决方案。我们已经在使用jest进行react测试并说 如果您使用的是Jasmine或类似Jasmine的API(例如Mocha), 玩笑应该是兼容的,这使得它不那么复杂 迁移到
- jest:使用Jasmine API运行测试
- Puppeter:在无头chrome浏览器中运行测试
- http服务器:用于导航到jasmine spec runner页面的本地Web服务器
- jest Puppeter:配置在运行测试之前启动本地服务器,然后停止
请随意提出备选方案。这是我的解决方案。我们已经在使用jest进行react测试并说 如果您使用的是Jasmine或类似Jasmine的API(例如Mocha), 玩笑应该是兼容的,这使得它不那么复杂 迁移到
- jest:使用Jasmine API运行测试
- Puppeter:在无头chrome浏览器中运行测试
- http服务器:用于导航到jasmine spec runner页面的本地Web服务器
- jest Puppeter:配置在运行测试之前启动本地服务器,然后停止
请随意提出备选方案。因为在打开本地html文件时没有涉及web服务器,所以不确定如何添加mime类型。也许我们应该咬紧牙关,启动一个web服务器,在浏览器中运行测试,检查控制台消息,看看在构建过程中是否有任何失败。因为打开本地html文件时没有涉及web服务器,所以不确定如何添加mime类型。也许我们应该咬紧牙关,启动一个web服务器,在浏览器中运行测试,检查控制台消息,看看在构建过程中是否有任何失败。