我一直在考虑编写自动化测试以验证我们编写的 bazel 规则的最佳方式。关于测试的 bazel 文档表明我们可以使用Skylib有一个名为 的测试框架unittest.bzl
,但是它会检查规则的分析时行为。
在我的例子中,我们有生成进程的规则,如果进程终止,我们期望得到一定的输出。因此,我创建了预期会失败的 bazel 目标,因为我想测试一些负面路径(例如手动终止进程)。
我正在寻找测试快乐的道路,但真的想测试消极的道路,可能会蓬勃发展的事情等等......
我是在想:
- 什么对你有用,什么没用?
- 你用什么技术/工具/东西来测试你在 bazel 中编写的自定义规则?
- 您是否编写了一个运行 a 的 bazel 目标,
sh_test
shell 脚本运行 bazel 并期望测试失败? - 你用过新工具吗?如果是这样,您如何确保在整个组织中使用相同版本的工具?
- 你关注的是快乐的道路,消极的道路,还是两者兼而有之?
期待听到您的回复