pytest Thread宣言のクラスをモックにする

対象クラス
abusiness.py

from threading import Thread

class AThread(Thread):
    def run(self)->None:
        print("AThread!")
        # TODO 処理

AThread を実行するテストされるクラス
some.py

class Some:
    def exec(self)->None:
        a = AThread()
        a.start()
        a.join()

テストクラスで、モックであるダミーの Threadクラスを定義して
mocker.patch で new= で指定する

from some import Some
from threading import Thread
import time

# ダミーのThreadクラス
class ThreadMock(Thread):
    def run(self) -> None:
        print("ThreadMock run!")
        time.sleep(5)

class TestSome:
    def test_1(self, mocker):
        mocker.patch("abusiness.AThread", new=ThreadMock)
        some = Some()
        some.exec()