2016-12-06 35 views
0

Intern網站上的教程首先通過使用npm獲取實習生開始,但我下載了實習生源代碼的最新版本。 (我沒有使用NPM)和我的應用程序文件夾結構是這樣的如何將實習生添加到Dojo項目?

|myapp 
    |app 
    |tests 
     |unit 
     |functional 
    main.js 
|third-party 
    |dojo-release-1.10.6 
    |intern-3.4.2 
index.html 

現在,在我的index.html我加在我的包的配置

  packages: [ 
       { name: 'dojo', location: 'third_party/dojo-release-1.10.6-src/dojo' }, 
       { name: 'intern', location: 'third_party/intern-3.4.2' }, 
      ], 

在此之後,我在哪裏以下放置intern.js?

+0

將它放在'intern/intern.js'中,然後像'require(「intern/intern.js」)''一樣導入它... –

回答

0

除了使用npm之外,使用Intern的基本過程將與本教程中概述的相同。編寫你的單元測試,然後使用實習生的三個測試跑步者(intern-client,intern-runnerclient.html)實際運行測試。

您不需要在應用程序包列表中包含實習生。相反,您將在Intern測試配置中的應用程序包中包含loaderOptions對象。

你的測試如何與你的應用程序交互取決於你正在寫什麼類型的測試。對於單元測試,您的單元測試套件將加載您的應用程序片段,然後對它們運行測試。對於功能測試,您的測試(通過Intern)會告訴瀏覽器加載運行您的應用程序的測試頁面,然後告訴瀏覽器採取各種操作。

// unit test 
define([ 'intern!object', 'myApp/myModule' ], function (registerSuite, mod) { 
    registerSuite({ 
     name: 'myApp/myModule', 

     '#someFunction': function() { 
      var value = mod.someFunction(...); 
      // make assertion about value 
     } 
    }); 
}); 

// functional test 
define([ 'intern!object' ], function (registerSuite) { 
    registerSuite({ 
     name: 'myApp/myModule', 

     '#someFunction': function() { 
      return this.remote.get('myTestPage.html') 
       .findById('someButton') 
       .click() 
       // make assertions about state of elements on the page 
     } 
    }); 
}); 

實習生本身是一個Dojo項目,並使用自己的自定義版本的Dojo默認加載模塊。單元測試可能已足夠。如果不是,那麼您需要在測試配置中設置loaders以指向您自己的Dojo的dojo.js(加載器的路徑應該與Intern的dojo/loader.js相關)。