gpt4 book ai didi

python - 通过 Nose 运行扭曲的单元测试?

转载 作者:行者123 更新时间:2023-12-01 05:55:24 24 4
gpt4 key购买 nike

我们的Python代码库使用nose来运行所有单元测试,我试图使用nose.twistedtools来运行所有测试,但它们都在关闭时挂起。任何帮助解决这个问题都会很棒。这是一个挂起的简单测试:

from nose.twistedtools import deferred
from twisted.internet.defer import Deferred

@deferred(timeout=1)
def test_rudimentary():
def done(_ignored):
print "DONE"

defer = Deferred()
defer.addCallback(done)
return defer

调用和输出如下所示:

$ nosetests test_simple.py 
F
======================================================================
FAIL: test_simple.test_rudimentary
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/<ENV>/lib/python2.7/site-packages/nose/case.py", line 197, in runTest
self.test(*self.arg)
File "/home/<ENV>/lib/python2.7/site-packages/nose/twistedtools.py", line 165, in wrapper
% timeout)
TimeExpired: timeout expired before end of test (1.000000 s.)

----------------------------------------------------------------------
Ran 1 test in 1.001s

FAILED (failures=1)

如果我不设置超时,测试将永远挂起。

最佳答案

您的代码负责调用 defer.callback/errback (很可能是间接的)。尝试:

reactor.callLater(0.1, defer.callback)
return defer

关于python - 通过 Nose 运行扭曲的单元测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12808184/

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