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 に答える