2012-03-16 75 views
2

我收到FlexUnit 4的錯誤,我無法找到解決方案。這是錯誤:FlexUnit 4錯誤:adobe:TestRunnerBase

無法解析爲組件實現。

這裏是我的示例應用程序(我用FlashBuilder 4高級版,所以我承擔所有必要的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?我可能會錯過什麼?

回答

0

我認爲這個問題必須是關於錯誤地導入SWC文件的問題。無論如何,我已升級到FlashBuilder 4.6,並找到了一篇文章,向我展示瞭如何使用FlexUnit4,而且我的工作沒有問題。

這裏是鏈接到文章以防萬一別人可能會發現它usefule: http://www.adobe.com/devnet/flex/articles/flashbuilder4_tdd.html

1

你確定命名空間是「土坯」?通常我會假設像「flexunit」。在Text組件的根標籤中是否有以下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將在導入語句中向您顯示大量錯誤。

克里斯

+0

最後,我用這個命名空間:XMLNS:flexui =「flexunit.flexui *。 「使用以下代碼: fumeng 2012-03-27 18:30:00

0

的Eclipse(在我的情況STS)抱怨說,以下文件夾無法找到: 「C:\ Program Files文件\的Adobe \的Adobe Flash Builder的4.7 \日食\插件\ 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導入。更新項目設置導致更多錯誤)。

0

使用Project - >「清潔......」函數強制Flash Builder編譯器重新構建所有資源,在您的項目