好的,我试着为一个python函数写一个pytest,这个函数有一个while循环,这个循环只有在满足某个条件时才会退出,或者在x段时间内继续检查这个条件。
现在我试着为它写一个pytest,为了跳出循环,我可以明显地模拟循环所寻找的条件,但是在写pytest来测试它是否超时工作并显示正确的错误时,我无法直接思考。
flag = False
while time.time() < end_time:
if condition:
do_something()
flag = True
break
return flag
我试过几样东西,但都没有结果。
1条答案
按热度按时间xdnvmnnf1#
如果我没理解错的话,你需要:
a)您的代码必须进入while循环
B)由于
break
语句,您的代码不能退出循环。我将假设在设置代码中,您在调用
time.time()
后通过执行某些操作获得了end_time
,我还将假设您不想等待超时的实际持续时间。您可以通过以下方式处理此问题:
time
模块的模拟,以便.time()
具有3个返回值:end_time
的初始文件end_time
end_time
condition
的内容),以便if
语句在第一次进入循环时计算为False
。我建议您考虑一下您是否真的需要该测试-使用演示代码,您的测试不会通过使用此设置提供任何信息,除非在
if
块之后有其他代码,否则您无法通过使循环从一开始就不执行来获得这些信息