Bazel 测试输出

💡 原文英文,约500词,阅读约需2分钟。
📝

内容提要

本文讨论了从Bazel测试中转储中间测试输出的方法。Bazel测试中有两个可写的私有目录:TEST_TMPDIR和TEST_UNDECLARED_OUTPUTS_DIR。TEST_UNDECLARED_OUTPUTS_DIR用于保存中间测试输出,TEST_TMPDIR用于保存临时文件。远程执行Bazel测试时,可以使用Bazel启动选项下载outputs.zip文件和bazel-testlogs目录。

🎯

关键要点

  • 开发人员希望在单元测试失败时检查中间测试输出以理解失败原因。

  • Bazel测试中有两个可写的私有目录:TEST_TMPDIR和TEST_UNDECLARED_OUTPUTS_DIR。

  • TEST_UNDECLARED_OUTPUTS_DIR用于保存未声明的测试输出,文件会被压缩并添加到outputs.zip文件中。

  • TEST_TMPDIR是一个声明的目录,Bazel可以在测试执行期间访问和清理它。

  • 在远程执行Bazel测试时,可以使用启动选项下载outputs.zip文件和bazel-testlogs目录。

  • 使用TEST_UNDECLARED_OUTPUTS_DIR保存开发人员希望在测试执行后检查的中间测试输出。

  • 使用TEST_TMPDIR保存不打算在测试执行后检查的临时文件。

延伸问答

Bazel测试中如何保存中间测试输出?

可以使用TEST_UNDECLARED_OUTPUTS_DIR保存中间测试输出,文件会被压缩并添加到outputs.zip文件中。

TEST_TMPDIR和TEST_UNDECLARED_OUTPUTS_DIR有什么区别?

TEST_TMPDIR是声明的目录,Bazel可以在测试执行期间访问和清理;而TEST_UNDECLARED_OUTPUTS_DIR用于保存未声明的测试输出,Bazel不会直接操作它。

如何下载Bazel测试的输出文件?

可以使用Bazel启动选项,如--remote_download_outputs=all,下载outputs.zip文件和bazel-testlogs目录。

在Bazel测试中,TEST_TMPDIR的用途是什么?

TEST_TMPDIR用于保存不打算在测试执行后检查的临时文件,Bazel会在测试执行前清理该目录。

为什么开发人员需要检查中间测试输出?

开发人员希望在单元测试失败时检查中间测试输出,以理解失败原因。

Bazel测试中如何处理未声明的输出?

未声明的输出会被写入TEST_UNDECLARED_OUTPUTS_DIR,并在测试结束时被压缩到outputs.zip文件中。

🏷️

标签

➡️

继续阅读