1

私の状況は次のようになります。

  • Windows ベースのサーバー プログラムと Linux ベースのクライアントがあります。
  • ローカル Linux マシンで実行され、実行する必要がある Linux クライアントの多くのテストがあります。
  • Linux クライアントにメッセージを送信する Windows サーバー マシンからコードを実行する必要があります。次に、これらのメッセージの効果を検証するテストが Linux クライアント マシンで実行されます。

したがって、典型的なテスト ケースは次のようになり、Windows ホストで実行されます。

test_example_message(self):
    # has to be executed locally on windows server
    send_message(EXAMPLE, hosts)
    # has to be executed locally on linux clients
    for host in hosts:
        verify_message_effect(EXAMPLE, host)

pytest-xdistが何らかの形でそれを実行できることがわかりました。

それを使用する方法に関する良いチュートリアルまたはコード例はありますか?

4

2 に答える 2

0
def execute_tc(config):
"""Execute test code in parallel"""
    # create shared results dictionary
    manager = multiprocessing.Manager()
    result_dict = manager.dict({})
    # create processes
    processes = []
    for func, platform, args in config:
        function = getattr(test_functions, func)
        worker = multiprocessing.Process(target=function, args=[result_dict, platform, args])
        worker.daemon = True
        worker.start()
        processes.append(worker)

    for process in processes:
        process.join()

    return result_dict

特定のテスト ケースを実行するために、テスト ケースの実行メソッドを変更したと思います。

于 2015-08-25T11:39:03.543 に答える