gpt4 book ai didi

python - 在单元测试中使用耗时作为断言

转载 作者:IT老高 更新时间:2023-10-28 21:14:08 27 4
gpt4 key购买 nike

我正面临这样一种情况,我想确保如果修改了一个方法,它的运行时间不会超过 X 毫秒(本质上,如果该函数较慢,它会减慢我们网页上的搜索结果,这对销售有不良影响)。

我们有单元测试(特别是代码是在 python 下完成的,我们使用 py.test),第一个想法是断言如果函数在 X 毫秒内没有执行,则将测试标记为失败(或发出警告)。

但是,这感觉很危险(例如,并非所有计算机的速度都相同),而且我不太确定这是单元测试的工作。

有人遇到过类似的情况吗?对我来说,速度是一种特性,我想确保这样的特性在未来不会随着代码的发展而丢失。

如果单元测试不是答案,您会推荐哪些其他替代方案?

谢谢

最佳答案

您可以考虑使用 pytest-timeout plugin作为一个开始。它目前只允许指定秒数(作为 float )。但它可以扩展为使用更具适应性的时序,例如 pystone 编号,因此可以测量您的计算机执行 pystone 基准测试的速度,该基准可以缓存,然后您可以指定您的测试有多少“pystone”被允许采取。

关于python - 在单元测试中使用耗时作为断言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12190596/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com