Пикка: получить базовый класс актера

Я использую 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 объекты, но все поля, которые не делаются "закрытыми" с помощью префикса с подчеркиванием, будут поддерживаться в будущем.

Другие вопросы по тегам