0

这是一个比其他任何问题都更符合我理解的问题。我过去Test::More常常通过TAP::Harness.

当测试运行时,它会返回一个退出代码和一个等待代码。

Test::More 根据文档,退出代码旨在在失败时返回非零值。

但是等待代码意味着什么?对于我正在运行的测试,它似乎是失败测试数 (256 * n) 的倍数。

我的猜测是该协议试图模拟 Unix 上的父子进程关系,但我对等待代码一无所知。

4

1 回答 1

3

有关如何构建等待代码的更多信息,请参阅 $? . 正如您所推测的,Test::More 的退出代码乘以 256,通常该值将是失败测试的数量。

等待代码有用的原因是,它可以让您查看harness 下的代码何时因信号而退出:

use Test::More tests => 2;

ok 1,"first";
kill 15,$$;
ok 1,"second";

将产生 15 的等待状态。您的脚本是否退出信号取决于您在做什么;我有一个系统必须调用一个不可靠的远程服务,并且在另一端死机时会看到 SIGPIPE 错误。

于 2013-04-26T14:58:13.277 回答