【发布时间】:2019-02-22 20:45:05
【问题描述】:
我见过 Angular 项目,其中每次执行构建以及运行 git push 命令时都会运行单元测试。如果在任一命令期间任何测试失败,则在所有单元测试通过或绕过之前,该过程不会执行。我想为我的项目进行这种设置作为最佳实践。请帮忙:)
【问题讨论】:
-
我认为在运行
git push时运行单元测试不是一个好主意,因为它们是两个不同且独立的进程,它们应该保持原样。更好的方法是实现一个 pre-commit 钩子,如果有任何失败的测试,它会阻止提交代码。 -
你应该看看 husky,它会帮助你直接从你的 package.json 创建一个 git 钩子。也就是说,我认为这样做不是一个好主意,除非你的测试很少,或者它们运行得非常快。否则你会感到非常无聊。没有人愿意等待 500 万个才能推送。你应该依赖你的 CI。预提交或预推送钩子适用于快速处理,例如 linting(甚至可能需要太多时间)或运行更漂亮。
-
使用包调用哈士奇。有了它,您不必担心创建文件夹或文件。
标签: javascript node.js angular git karma-jasmine