1

我已经开始使用鼻子来运行测试。我发现多处理插件有一个超时,我可以在命令行上进行更改。

有没有办法延长单个测试的超时时间(在测试代码中),所以我没有大量的全局超时?

4

1 回答 1

0

我对多处理插件没有任何经验,但如果你用这样的方式子类化插件:

from nose.plugins.multiprocess import MultiProcess

PLUGIN = None

class TimeoutMultiProcess(MultiProcess):
    def configure(self, options, conf):
        global PLUGIN
        PLUGIN = self
        super(TimeoutMultiProcess, self).configure(options, conf)
        if not self.enabled:
            return

然后您可以创建自己的测试运行脚本,例如:

import unittest


class TestA(unittest.TestCase):

    def setUp(self):
        from runtest import PLUGIN
        print PLUGIN.config.multiprocess_timeout

    def test_a(self):
        pass

    def test_b(self):
        pass

if __name__ == '__main__':
    from runtest import TimeoutMultiProcess
    import nose
    nose.main(addplugins=[TimeoutMultiProcess()], defaultTest="./test.py")

您将能够config.multiprocess_timeout在测试中将 更改为不同的值。我不确定它是否适合你,但值得一试。

于 2012-10-11T22:47:48.760 回答