FlexUnit 4错误:adobe:TestRunnerBase

时间:2012-03-16 18:26:36

标签: flex4 flexunit4

我在FlexUnit 4上遇到错误,我无法找到解决方案。这是错误:

无法解析为组件实现。

这是我的示例应用程序(我使用FlashBuilder 4 Premium,因此我假设已经安装了所有必需的SWC):

<?xml version="1.0" encoding="utf-8"?>

<fx:Declarations>
    <!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>

<fx:Script>
    <![CDATA[

        import sampleSuite.SampleSuite;
        import org.flexunit.listeners.UIListener;
        import compilationSuite.SuitesToRun;
        import org.flexunit.runner.FlexUnitCore;

        private var core:FlexUnitCore;
        public function runMe():void {
            core = new FlexUnitCore();
            core.addListener( uiListener );
            core.run( sampleSuite.SampleSuite );
        }

    ]]>
</fx:Script>

<adobe:TestRunnerBase
    id="uiListener"
    width="100%"
    height="100%" />

我发现的一个想法是来自FlexUnit支持网站,它说如果我的命名空间没有错(而且它没有),那么我就错过了这个文件:FlexUnit4UIListener.swc

我正在使用FlashBuilder 4和Flex 4.5.1 SDK。在我的构建路径中,我引用了这三个文件及其SWC:

C:\ Program Files \ Adob​​e \ Adob​​e Flash Builder 4 Plug-in \ eclipse \ plugins \ com.adobe.flexbuilder.flexunit_4.0.1.277662 \ flexunitframework \ libs \ version4libs {Common,FlexProject和locale / version4locale}

我的项目的libs文件夹中是否还需要更多SWC?我能错过什么?

4 个答案:

答案 0 :(得分:1)

您确定命名空间是“adobe”吗?通常我会假设像“flexunit”。您是否在Text组件的root-tag中有以下Namespace-Declaration?

 xmlns:adobe="http://www.adobe.com/2009/flexUnitUIRunner"

我建议将其更改为:

 xmlns:flexunit="http://www.adobe.com/2009/flexUnitUIRunner"

然后你必须像这样使用它:

<flexunit:TestRunnerBase id="uiListener" width="100%" height="100%" />

根据错误消息,我认为这是命名空间问题。如果这些类通常不可用,那么IDE应该在import语句中向您显示许多错误。

克里斯

答案 1 :(得分:0)

我认为问题必须是错误地导入SWC文件。无论如何,我已经升级到FlashBuilder 4.6并找到了一篇文章,向我展示了如何使用FlexUnit4,并且我已经让它工作没有问题。

以下是该文章的链接,以防万一其他人可能会发现它有用: http://www.adobe.com/devnet/flex/articles/flashbuilder4_tdd.html

答案 2 :(得分:0)

Eclipse(在我的案例中为STS)抱怨无法找到以下文件夹: “C:\ Program Files \ Adob​​e \ Adob​​e Flash Builder 4.7 \ eclipse \ plugins \ com.adobe.flexbuilder.flexunit_4.7.0.349722 \ flexunitSwcs \ 4.5 \ locale \ en_US \ version4locale \”

安装后有一个文件夹“C:\ Program Files \ Adob​​e \ Adob​​e Flash Builder 4.7 \ eclipse \ plugins \ com.adobe.flexbuilder.flexunit_4.7.0.349722 \ flexunitSwcs \ 4.5 \ locale \ en_US”文件“FlexUnitTestRunner_rb.swc”。通过创建子文件夹version4locale,并将文件“FlexUnitTestRunner_rb.swc”复制到其中并没有解决flex项目中的问题。但是,删除项目并从SVN存储库重新导入它会修复它。

因此,Flash Builder在创建或导入项目之前需要它。 (我无法更新项目设置,因为它是由早期版本的Flash Builder创建的;并且是从SVN导入的。更新项目设置会导致更多错误。)

答案 3 :(得分:0)

使用Project-&gt;'Clean ...'功能强制Flash Builder编译器重建项目中的所有资源