使用 bats 测试时调试你的 Bash 代码
当你使用 Bats 运行 Bash 赛道的测试时,Bats 会同时捕获标准输出和标准错误,用于输出断言。
这在本地配合 bats 可行,但在 Exercism 在线编辑器中不可行。
如果你想在不影响测试结果的情况下打印调试输出,就把它写入文件描述符(fd)3。
echo 'debug message' >&3
Bats 会在测试运行期间显示写入 fd 3 的输出,但不会把该输出包含在诸如 assert_output 之类的断言中。
示例运行:
$ bats hello_world.bats
hello_world.bats
✓ Say Hi!
debug message
1 test, 0 failures
当你在本地运行测试时,这会很有用。