我正在使用 Jasmine 测试套件在我的代码库中运行测试。
它在我的 Mac 上运行得很好。命令是
open SpecRunner.html
这是完整的脚本对象:
"scripts": {
"start": "npm install",
"test:local": "open SpecRunner.html",
"test:remote": "karma start"
},
我遇到的问题是我的朋友告诉我
npm run test:local
无法在他的 Windows 计算机上运行。我相信start SpecRunner.html
中的正确命令。
使其跨操作系统兼容的最佳方法是什么?
ChatGPT 推荐这个解决方案:
"scripts": {
"open-spec": "cross-env OS_TYPE=$(uname) npm run open-spec-$(uname | tr '[:upper:]' '[:lower:]')",
"open-spec-darwin": "open SpecRunner.html",
"open-spec-linux": "xdg-open SpecRunner.html",
"open-spec-win32": "start SpecRunner.html"
}
不过,我更喜欢一种将命令组合到一个脚本中的简单方法。那可能吗?我没有Windows机器来测试自己!谢谢!
这个问题之前已经回答过了。在这里看看这个问题:npm package.json OS 特定脚本。
我相信第二个答案就是你想要的。如果没有的话,用一些节点包裹它。 https://stackoverflow.com/a/45082999/10880357。
但我更喜欢第一个(类似于GPT),看起来你和你的朋友正在开始一个项目什么的。打字不会有什么坏处 : 测试:mac 或者 测试:Windows
我给你的建议:继续专注于能给你带来价值的事情。