フレックスユニット 4.1
フラッシュビルダー 4.5.1
バックグラウンド
FlexUnit UIImpersonator クラスを使用して、カスタム Flex 4 スキン可能コンポーネントをテストしようとしています。FlashBuilder Spark のみのプロジェクトからテストを実行すると、すべて正常に動作します。クラスパスに mx コンポーネントが設定されているプロジェクトからテストしようとすると、「Flex 4 以外のプロジェクトでは getElementIndex を使用できません」というエラーが発生します。
質問
クラスパスに mx コンポーネントを設定したまま、FlexUnits ビジュアル テスト環境で spark コンポーネントを単体テストできますか?
リサーチ
UIImpersonator は、そのメソッド呼び出しを「testEnvironment」に委任します。この「testEnvironment」に使用される実装は、VisualTestEnvironmentBuilder クラスと FlexEnvironmentBuilder クラスによって決定されます。FlexEnvironmentBuilder クラスがクラスパスで「mx.core.Container」を見つけることができる場合、MX 環境を返し、それ以外の場合は Spark 環境を返します。UIImpersonator での Flex 4 関連メソッド呼び出し (addElement メソッドなど) の有効な実装があるのは、spark 環境だけです。