以下を考えると:
from time import sleep
def runTest(a):
sleep(1)
assert a >= 0
def test_all():
for i in range(5):
yield (runTest, i)
5 つのテストが並行して実行されるため、約 1 秒で実行されると予想されますが、実行にnosetests --processes=8
は 5 秒強かかります。これらは同時に実行されているのではなく、順次実行されているようです。
鼻のドキュメントによると、マルチプロセス プラグインは 1.1 以降、テスト ジェネレーターをサポートしています (鼻のドキュメントではテスト ジェネレーターと呼ばれています)。_multiprocess_can_split_ = True
フィクスチャが使用されていないため、予想どおり、追加しても違いが生じます。
これら 5 つのテストを同時に実行するにはどうすればよいですか?