Apache flex ASMock:flash.net.NetGroup的验证错误

Apache flex ASMock:flash.net.NetGroup的验证错误,apache-flex,actionscript,verifyerror,asmock,Apache Flex,Actionscript,Verifyerror,Asmock,我一直在使用ASMock结合Flexunit4.1为我的项目创建自动化测试。但是,当我尝试模拟flash.net.NetGroup时,会收到以下错误消息: VerifyError: Error #1053: Illegal override of NetGroup6B54B8B32216E97DF75A0EBB17879E26E9B81916 in asmock.generated.NetGroup6B54B8B32216E97DF75A0EBB17879E26E9B81916. 在我将其添加

我一直在使用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
        ]);
我认为这个错误与使用不同版本进行编译有关(NetGroup不久前就引入了),所以我从各自的SVN/Git存储库中提取了ASMock及其所有依赖项项目,并重新构建了它们。项目清单如下:

  • 阿斯托克
  • ASMockFlexUnit4
  • ASMockFlexUnit41
  • 弗莱米特
  • FLexUnit(原始Adobe one,由Flexunit4使用)
  • 柔性单元4
  • FlexUnit4UIListener
  • 弗洛西
  • 汉克雷斯特
这些都加载在我的工作区中,并相互动态链接。现在我在任何预构建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.
因此,问题显然与不同SDK版本的SWC文件无关。有人能给我指出正确的方向来解决这个问题吗?因为我真的很想模拟网络组(和自定义子类)来正确地测试我的项目

其他信息:对于所有项目,flash player的最低要求设置为11.1.0(SDK 4.6.0的最低要求)


提前感谢,我已经有一段时间没有使用asMock了(我不再参与任何Flash工作),但我会尽我所能提供帮助

话虽如此,我首先想到的是
NetGroup
可以标记为final。通过字节码重写最终类(和方法)在不同的Flash Player版本中表现不同,但它在FP10中停止工作

如果所有其他方法都失败了,我建议创建一个抽象(
INetGroupFacade
)并以此为基础。

现在,我通过编辑Flemit中PropertInfo中的构造函数来“解决”这个问题,以返回特定方法名的星型返回类型。这远远不是解决这个问题的最优雅的方式,所以我仍然在寻找关于是什么原因导致这个问题以及如何更优雅地解决这个问题的好见解。