2016-05-17 36 views
5

我在testing node.js files上發現了Jasmine 2.4的頁面,它甚至提到了在spec/support/jasmine.json文件中設置spec 和源文件。但是在線示例jasmine examples都沒有顯示如何告訴茉莉花在哪裏可以找到源文件。如何在jasmine.json中用Jasmine 2設置源文件

所以我不斷收到ReferenceErrors,因爲它似乎沒有閱讀我的源文件。應該指出的是,現在我只是用它來教授一些學生關於測試的知識,並將他們的單個文件玩具項目用於練習。 (就像CLI Hang子手遊戲那樣)。所以現在沒有module.exports在進行,儘管他們的一些項目使用require()來引入第三方模塊。我一直在使用Karma,直到我意識到這隻適用於瀏覽器JavaScript,並且require不斷失敗。

編輯︰我剛剛發現this post這是基本上要求同樣的事情,但我不想用咕嚕只是讓茉莉花讀取源文件。看起來像應該內置的東西,比如Karma要求你的源文件和spec文件在哪裏。

第二個編輯:我不應該在這裏把這個,但Emarco標誌着我作爲一個我掛在我的第一個編輯以上的重複問題,儘管我很明確解釋了爲什麼其他沒有按崗位回答我的問題。

+0

的可能的複製[茉莉花JS:添加源法測試執行(http://stackoverflow.com/問題/ 27154475/jasmine-js-add-source-method-for-test-execution) – Emarco

+0

很明顯,你沒有閱讀我的整篇文章@Emarco。我甚至已經特別提到過你提到的這個帖子並沒有回答我的問題。 – bobbyz

+0

好吧,我確實閱讀了這篇文章,並給出了答案,但由於我給出的答案几乎與另一個問題相同,因此它被一名版主刪除,並被要求將其標記爲重複(我明白,驗證的答案是另一個問題對你沒有幫助,它也沒有幫助我,但是正如你在編輯時所說的那樣,在這兩種情況下問題都是一樣的,我不知道是否有特殊的方法來處理這種情況) – Emarco

回答

-1

在您的spec/support/jasmine.json文件中,您需要擁有和使用spec_dirspec_files屬性。

{ 
    "spec_dir": "spec", 
    "spec_files": [ 
    "fooSpec.js", 
    "barSpec.js" 
    ] 
} 

茉莉將使用spec_dir前綴您spec_files項目和運行測試。對於fooSpec.js,當你在運行BASE_DIR爲jasmine你的項目,測試是要爲BASE_DIR/spec/fooSpec.jsBASE_DIR/spec/barSpec.js

+2

不僅有你沒有回答OP的問題,但你也回答了OP知道並明確不需要的部分。 – EnKrypt

0

可惜運行,茉莉花開發商似乎依靠咕嚕或其他工具的使用茉莉花。正如你已經提到的,讓它工作而沒有咕嚕聲或業力的唯一方法是使用require.js。

將您的require.js文件從here放入您的index.html。

就需要在corrosponding spec.js文件必須在源文件像這樣:

//Be careful to choose the right path from the sight of your spec.js  
var helloworld = require('../src/helloworld'); //the actual filename without '.js' 

那麼 「helloworld.js」 中導出腳本像這樣:

exports.helloWorld = function(){ 
    return "Hello world!"; 
}; 

那爲我工作...我希望能夠幫助,沒有找到另一種解決方案。

2

FWIW我發現,其中列出了helpers列表我的源文件,工程..

{ 
    "spec_dir": "spec", 
    "spec_files": [ 
    "fooSpec.js", 
    "barSpec.js" 
    ], 
    "helpers": [ 
    "../src/foo.js", 
    "../src/bar.js" 
    ] 
} 
+0

用茉莉花2?它不適合我。你有一個在線運行的例子嗎? –

相關問題