预提交 vs tox |有什么区别 |使用范围
pre-commit vs tox | what's the difference | scope of use
毒性:
https://tox.wiki/en/latest/
我想了解两种选择的边界。
我知道预提交会创建一个 py 环境 - 与 tox 相同。对我来说,他们的架构看起来有点相同。
有些人将它们结合使用...有什么 pre-commit 不能做的,那 tox 可以吗?我看到了在 CI 管道期间通过预提交的示例,您可以 运行 单元测试等
哪个最适合集成到 CI 构建中?
简而言之,pre-commit
是一个linter/formatter 运行ner,tox
是一个通用的虚拟环境管理和测试命令行工具。
虽然 tox
也可以 运行 linters,但管理 linters 的版本非常繁琐。在 pre-commit
中,您只需 运行 pre-commit autoupdate
,所有 linter 都会更新。
另一方面 tox
可以 运行 例如许多不同 Python 版本的测试套件或覆盖率报告。这不仅对库有帮助,对应用程序也有帮助 - 因此您已经可以测试即将推出的 Python 版本。
tox
也用于创建文档,有时也用于发布 - 你不能(不应该)使用 pre-commit
.
和tox
当然不会过时,尽管GitHub动作可以针对不同的Python版本进行测试,正如您可以运行 tox
本地和在 CI.
我就这个话题做了一个闪电演讲:
https://www.youtube.com/watch?v=OnM3KuE7MQM
Which one is the best to integrate within the CI build?
我喜欢 运行 pre-commit
通过 tox
,在 CI 和本地。
tox 配置示例
示例pre-commit 配置
毒性: https://tox.wiki/en/latest/
我想了解两种选择的边界。
我知道预提交会创建一个 py 环境 - 与 tox 相同。对我来说,他们的架构看起来有点相同。
有些人将它们结合使用...有什么 pre-commit 不能做的,那 tox 可以吗?我看到了在 CI 管道期间通过预提交的示例,您可以 运行 单元测试等
哪个最适合集成到 CI 构建中?
简而言之,pre-commit
是一个linter/formatter 运行ner,tox
是一个通用的虚拟环境管理和测试命令行工具。
虽然 tox
也可以 运行 linters,但管理 linters 的版本非常繁琐。在 pre-commit
中,您只需 运行 pre-commit autoupdate
,所有 linter 都会更新。
另一方面 tox
可以 运行 例如许多不同 Python 版本的测试套件或覆盖率报告。这不仅对库有帮助,对应用程序也有帮助 - 因此您已经可以测试即将推出的 Python 版本。
tox
也用于创建文档,有时也用于发布 - 你不能(不应该)使用 pre-commit
.
和tox
当然不会过时,尽管GitHub动作可以针对不同的Python版本进行测试,正如您可以运行 tox
本地和在 CI.
我就这个话题做了一个闪电演讲: https://www.youtube.com/watch?v=OnM3KuE7MQM
Which one is the best to integrate within the CI build?
我喜欢 运行 pre-commit
通过 tox
,在 CI 和本地。