2013-05-19 32 views
1

我知道有幾個類似的問題已經得到解答(Testing custom JavaScript (not Node module) with InternCan't get Intern to run Node.js Module),但即使在閱讀這些答案之後,我仍然無法獲得一些簡單的測試來使用實習生來運行。我覺得只有一小部分我可以忽略或失蹤。爲Javascript項目設置實習生

我想評估實習生與現有的Javascript項目一起使用。這不是一個Node項目,只是簡單的Javascript。如果它很重要,我試圖在Windows機器上執行此評估。

  1. 我的項目層次結構如下所示:

    APEFIntern/ 
        apeform/ 
         test/ 
          intern.js  - Intern configuration 
          spec_inwf.js - Tests for inwf 
         inwf.js   - Code to test 
        intern/ 
    
  2. 實習生配置文件:

    // ... 
    
    // Configuration options for the module loader; any AMD configuration options supported by the Dojo loader can be 
    // used here 
    loader: { 
        // Packages that should be registered with the loader in each testing environment 
        //packages: [ 'apeform' ] 
    }, 
    
    // Non-functional test suite(s) to run in each browser 
    suites: [ 'apeform/test/spec_inwf' ], 
    
    // ... 
    

    我很新的節點和AMD,但我相信,因爲我的項目不是一個節點項目,我不需要使用loader.packages配置?

  3. 測試文件spec_inwf.js

    define([ 
    'intern!bdd', 
    'intern!chai!expect', 
    'apeform/inwf.js' 
    ], function (bdd, expect) { 
        with (bdd) { 
         describe("inwf suite", function() { 
          // Tests 
         }); 
        } 
    }); 
    
  4. 我執行以下命令來嘗試並運行測試:

    node client.js config=apeform/test/intern 
    

    我從命令接收的唯一輸出是:

    Defaulting to "console" reporter 
    

如果在Intern配置中將套件數組設置爲空,當我在#4中執行命令時,會收到消息「0/0 tests passed」。我相信這是正確的輸出。但是,無論何時我嘗試連接到測試套件,測試都不會運行。我不確定我從這個等式中還缺少了什麼。任何幫助,將不勝感激。

回答

0

它看起來像你有你的spec_inwf.js測試文件小的語法問題:

'intern!chai!expect', 

應該

'intern/chai!expect', 

其他的一切看起來不錯您的設置。

注意:如果您的項目不是Node項目,那麼您不需要使用loader.packages配置的聲明並不真實。但是,您不需要在您提供的文件結構的特定情況下使用它。 The amdjs packages documentation可能值得一讀,以便更好地理解此配置選項,因爲它是AMD特定的,而不是Intern特定的。希望這可以幫助。

+1

非常感謝。我不知道我有多少次忽略了這個問題。我會看看你提供的鏈接。實習生真的開始看起來像一個令人難以置信的工具。 – cprokopiak

+0

上述答案對於實習生1.1是否準確?看起來它並不是根據https://github.com/theintern/intern/wiki/Changelog#since-10,其中實習生目錄位於node_modules目錄下,而不是項目的兄弟。請描述測試文件,配置文件,正在測試的模塊和Web根目錄的正確位置。 – teaman