Mockolate验证错误:Flex SDK 4.10更新后非法覆盖..

时间:2014-01-07 15:23:01

标签: apache flex flexmojos flexunit4 mockolate

由于我们将应用程序中的flex sdk升级到4.10,因此我们在运行使用mockolate的单元测试时遇到了验证错误。

在模拟方法签名中使用ByteArray的接口时,似乎会出现这种情况。

示例界面:

public interface IFileSystemHelper {

    function loadFileContents(path:String):ByteArray;

}

示例测试类:

public class SomeTest {

    [Rule]
    public var mockolateRule:MockolateRule = new MockolateRule();

    [Mock]
    public var fileHelper:IFileSystemHelper;

    public function SomeTest() {
    }

    [Test]
    public function testMethod():void {
        // ...
    }
}

使用flexmojos 6.0.1编译并运行测试时,会抛出以下错误:

  

VerifyError:错误#1053:非法覆盖   IFileSystemHelper8F2B5D281827800A824B85B588C6F2A08AE814ED in   mockolate.generated.IFileSystemHelper8F2B5D281827800A824B85B588C6F2A08AE814ED

我最初的怀疑是playerglobal(或者我们的情况下是airglobal)的sdk版本问题所以我用sdk 4.10重新编译了mockolate(和flexunit),没有任何结果。

似乎唯一有效的方法是从方法签名中删除ByteArray类型......但这不是一个真正的选项:-)(这在以前从来就不是问题)

是否有人遇到类似问题?

由于

1 个答案:

答案 0 :(得分:0)

使用不同版本的sdk编译应用程序的不同部分时,通常会发生此问题。

我建议看一下“mvn dependency:tree”的输出,因为它应该输出所有依赖项(直接和传递的)。也许这可以帮助您找到错误版本的来源。