我一直在将 ASMock 与 Flexunit4.1 结合使用来为我的项目创建自动化测试。但是,当我尝试模拟 flash.net.NetGroup 时,我收到以下错误消息:
VerifyError: Error #1053: Illegal override of NetGroup6B54B8B32216E97DF75A0EBB17879E26E9B81916 in asmock.generated.NetGroup6B54B8B32216E97DF75A0EBB17879E26E9B81916.
在我将它添加到 [Rule] 之后,如下所示:
[Rule] public var includeMocks:IncludeMocksRule = new IncludeMocksRule([
NetGroup
]);
我认为这个错误与使用不同版本的编译有关(不久前引入了 NetGroup),所以我从它们各自的 SVN/Git 存储库中提取了 ASMock 及其所有依赖项项目并全部重建它们。项目清单如下:
- ASMock
- ASMockFlexUnit4
- ASMockFlexUnit41
- 弗莱特
- FlexUnit(原 Adobe 之一,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 文件无关。谁能指出我正确的方向,以便解决这个问题,因为我真的很想模拟 NetGroups(和自定义子类)来正确测试我的项目。
其他信息:对于所有项目,所需的最低 Flash 播放器设置为 11.1.0(SDK 4.6.0 的最低要求)。
提前致谢