我是茉莉花的新手,但想在JavaScript中做更多的TDD。我一直在使用谷歌的Angular庫,我知道Testacular是專門爲測試Angular應用而創建的。基本的test /茉莉/角度的設置和用法
我已經通讀了Jasmine文檔並觀看了Testacular設置視頻,但我無法獲得最基本的測試工作。假設我有三個文件:
modules.js
controller.js
appSpec.js
modules.js有我有幾個.factory(...)服務和一些.directive(...)定製指令模塊定義。 controller.js包含我的控制器,用於將模塊連接到html視圖。
到目前爲止,這麼好。接下來我添加了appSpec.js。假設我想用它來測試我的模塊中名爲「Data」的服務,該服務有一個方法「getData()」,它返回一個資源。
在testactular init中,我已經告訴它看所有三個文件。我運行了Testacular,它告訴我它正在觀察正確的文件。超。
我不明白的是我如何得到茉莉花規範知道如何看待模塊和控制器,以便他們可以測試。如果我簡單地說:
describe('Data Service', function(){
it ('should retrieve two items from the database', function(){
data = Data.getData() //my angular service
expect(data.length).toBe(2);
});
});
毫不奇怪,它不知道Data.getData()是什麼。
似乎很明顯,我應該在開始編寫套件之前將模塊定義和控制器帶入規範。這一點非常明顯,我沒有在文檔中看到人們是如何做的。教程似乎開始在spec.js文件中編寫規範,並假設一切都很好。
我在這裏看過其他的帖子,在這裏有類似的問題被問到,但不可否認,他們都有一個我似乎缺乏的基礎。例如,一篇文章談論的不是手動創建控制器的實例,而是注入依賴關係。爲什麼他創建一個新的$ rootScope對象,他的模塊如何被引用等...
我明白我的問題可能只是對Jasmine框架缺乏基本的理解,但我似乎無法從Jasmine自述文件中榨取更多的理解。有人能指出我對這種工作原理的基本解釋嗎?
謝謝。
你可能會考慮在你的文章中添加鏈接。使它更有用。我爲[Testacular](http://testacular.github.com)添加了一個讓你開始。 – jwfearn 2013-03-09 23:39:43