2015-12-23 15 views
0

我正在Meteor的單元測試中掙扎。我想使用速度,茉莉花包,但我一定做錯了什麼。 。測試不要「噸似乎工作,因爲測試找不到代碼來測試測試項目可在github流星中的單元測試無法找到他們需要測試的代碼

,我想測試的代碼是在這裏: https://github.com/robvanpamel/coderepository/blob/master/meteor/sandwich-app/server/Services/SandwichService.js

單位測試是在這裏: https://github.com/robvanpamel/coderepository/blob/master/meteor/sandwich-app/tests/jasmine/server/integration/spec/SandwichServiceSpec.js 當我取消對創建SandwichService在單元測試,測試工作,這是正常的

我沒有做任何配置在其他地方的流星,我認爲這是問題做。你必須在你指定源代碼的地方放一個package.js文件? Jasmin怎麼樣? e知道它在哪裏可以找到我試圖測試的SandwichService?這也是我得到的錯誤。 「的ReferenceError:SandwichesService沒有定義」

編輯

我能解決這個問題,並更新GitHub上的代碼庫。關鍵不是使用Javascript原型。所以下面將不工作

function SandwichesService(){}; 

SandwichesService.prototype.listSandwiches = function() { 
    // do stuff here 
} 

,而下面的代碼確實工作

SandwichService = { 
    listSandwiches: function(){ 
     // do stuff here 
    } 
}; 

我真的不明白爲什麼?有人可以告訴我嗎?

致以親切的問候和感謝! 羅布

回答

0

這是一個流星的問題不是一個測試問題:)

你需要把SandwichesService的全局命名空間。你的第二個塊默認是這樣做的。

嘗試:

SandwichService = new SandwichesService()

(不使用VAR)

相關問題