单元测试可以有执行时间标准吗?

Ric*_*haw 5 unit-testing

有一个单元测试来指定某个函数返回一个值需要多长时间是一种很好的做法。我正在对 curl 函数进行单元测试,并希望指定它需要在 5 秒后超时。这符合单元测试的工作方式吗?

phi*_*ant 5

测试你的函数加上curl加上服务器更像是集成测试而不是单元测试。话虽这么说,你不必那么教条,如果你只有一个这样的测试,这当然是可行的。我已经编写了测试,并且仍然有一些不是纯单元测试的测试,但它们完成了自己的工作。我会把它们保留在不妨碍我的范围内。

我唯一担心的是五秒超时,这对于单元测试来说非常长。现在,这取决于它发生的频率。您是否考虑过在启动curl 之前进行基本测试(例如ping 服务器)以避免启动不必要的测试。

如果您正在寻找替代方案,可以将测试分为两部分:1/测试如何调用curl;2/测试你的函数对结果做了什么?这样您就可以与服务器隔离,并且不需要任何超时。