Пикка: получить базовый класс актера
Я использую Pykka Python библиотеки. Я хотел бы создать актера, а затем проверить, относится ли созданный актер к соответствующему классу.
class MyActor( ThreadingActor ):
# ...
actor = MyActor.start().proxy()
assert actor.__class__ == MyActor # check here?
Вот actor.__class__
является pykka.actor.ActorRef
, Как проверить, относится ли это к MyActor
учебный класс? Мне это нужно для комплекта модульных тестов.
1 ответ
Решение
Чтобы получить актерский класс от pykka.actor.ActorRef
:
ref = MyActor.start()
assert ref.actor_class == MyActor
Чтобы получить актерский класс от pykka.proxy.ActorProxy
:
proxy = MyActor.start().proxy()
assert proxy.actor_ref.actor_class == MyActor
Я забыл задокументировать actor_class
поле на ActorRef
объекты, но все поля, которые не делаются "закрытыми" с помощью префикса с подчеркиванием, будут поддерживаться в будущем.