ASMock: VerifyError для flash.net.NetGroup - PullRequest
1 голос
/ 19 марта 2012

Я использую ASMock в сочетании с Flexunit4.1 для создания автоматических тестов для моего проекта.Однако, когда я пытаюсь смоделировать flash.net.NetGroup, я получаю следующее сообщение об ошибке:

VerifyError: Error #1053: Illegal override of NetGroup6B54B8B32216E97DF75A0EBB17879E26E9B81916 in asmock.generated.NetGroup6B54B8B32216E97DF75A0EBB17879E26E9B81916.

после добавления его в [Правило] следующим образом:

[Rule] public var includeMocks:IncludeMocksRule = new IncludeMocksRule([
            NetGroup
        ]);

IЯ полагал, что эта ошибка связана с компиляцией с различными версиями (NetGroup была представлена ​​не так давно), поэтому я вытащил ASMock и все его проекты зависимостей из соответствующих репозиториев SVN / Git и пересобрал их все.Список проектов:

  • ASMock
  • ASMockFlexUnit4
  • ASMockFlexUnit41
  • FLemit
  • FLexUnit (оригинальная версия Adobe, используетсяот Flexunit4)
  • Flexunit4
  • FlexUnit4UIListener
  • FLoxy
  • hamcrest

Все они загружены в мое рабочее пространство и динамически связаныдруг другу.Теперь у меня есть нет зависимостей от любого файла предварительной сборки SWC, и все проекты создаются с использованием текущего компилятора и 4.6.0 SDK.(некоторые из этих проектов не были перекомпилированы начиная с SDK 2.x, поэтому у меня были большие надежды).

Поэтому я перезапустил свои тесты и получил следующую ошибку:

return types dont match
   virt * flash.net::NetGroup/set receiveMode()
   over void asmock.generated::NetGroup6B54B8B32216E97DF75A0EBB17879E26E9B81916/set receiveMode()

VerifyError: Error #1053: Illegal override of NetGroup6B54B8B32216E97DF75A0EBB17879E26E9B81916 in asmock.generated.NetGroup6B54B8B32216E97DF75A0EBB17879E26E9B81916.

Итак, по-видимомупроблема была не в том, чтобы делать файлы SWC с разными версиями SDK.Может ли кто-нибудь указать мне правильное направление, поэтому решите эту проблему, потому что я действительно хотел бы издеваться над NetGroups (и пользовательскими дочерними классами), чтобы правильно протестировать мой проект.

Разная информация: Для всех проектов минимальный требуемый флэш-проигрывательустановите 11.1.0 (минимум для SDK 4.6.0).

Заранее спасибо

1 Ответ

0 голосов
/ 01 июля 2012

TBH, я не работал над asMock в течение некоторого времени (я больше не занимаюсь ни одной Flash-работой), но я помогу настолько, насколько смогу.

Сказав это,Первое, что бросается в глаза, это то, что NetGroup может быть помечено как окончательное.Переопределение конечных классов (и методов в этом отношении) с помощью байт-кода ведет себя по-разному в разных версиях Flash Player, но перестает работать в FP10.

Если все остальное не удается, я бы рекомендовал создать его абстракцию.(INetGroupFacade) и в зависимости от этого.

...