弹性单元 4.1
FlashBuilder 4.5.1
背景
我正在尝试使用 FlexUnit UIImpersonator 类测试自定义 Flex 4 可换肤组件。如果我从 FlashBuilder Spark 运行我的测试,则一切正常。如果我尝试从在类路径上设置 mx 组件的项目中进行测试,我会收到“getElementIndex 在非 Flex 4 项目中不可用”错误。
问题
我可以在 FlexUnits 可视化测试环境中对 spark 组件进行单元测试,同时仍然在类路径上设置 mx 组件吗?
研究
UIImpersonator 将它的方法调用委托给“testEnvironment”。用于此“testEnvironment”的实现由 VisualTestEnvironmentBuilder 类和 FlexEnvironmentBuilder 类决定。如果 FlexEnvironmentBuilder 类可以在类路径中找到“mx.core.Container”,则返回 MX 环境,否则返回 Spark 环境。只有 spark 环境对 UIImpersonator 上的 Flex 4 相关方法调用具有有效实现,例如 addElement 方法。