2

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\Adobe\Adobe Flash Builder 4 Plug-in\eclipse\plugins\com.adobe.flexbuilder.flexunit_4.0.1.277662\flexunitframework\libs\version4libs{Common,FlexProject, and locale/version4locale}

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

4

4 回答 4

1

您确定命名空间是“adobe”吗?通常我会假设像“flexunit”这样的东西。您的 Text 组件的根标记中是否有以下命名空间声明?

 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 应该会在导入语句中向您显示很多错误。

克里斯

于 2012-03-23T07:17:29.067 回答
0

我相信问题一定是错误地导入了 SWC 文件。无论如何,我已经升级到 FlashBuilder 4.6 并找到了一篇文章,向我展示了如何使用 FlexUnit4,并且我已经让它正常工作了。

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

于 2012-03-19T15:38:04.240 回答
0

Eclipse(在我的情况下为 STS)抱怨找不到以下文件夹:“C:\Program Files\Adobe\Adobe Flash Builder 4.7\eclipse\plugins\com.adobe.flexbuilder.flexunit_4.7.0.349722\flexunitSwcs\4.5\语言环境\en_US\version4locale\"

安装有一个文件夹“C:\Program Files\Adobe\Adobe 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 导入的。更新项目设置会导致更多错误)。

于 2013-02-15T22:13:47.793 回答
0

使用 Project->'Clean...' 函数强制 Flash Builder 编译器重建项目中的所有资源

于 2014-04-23T09:34:37.897 回答