3
我已經得到了我想要寫一個簡單的單元測試套件的基本模型單元測試,而且我清楚地失去了一些東西......如何編寫AngularJS模型
該模型的代碼看起來是這樣的:
angular.module('AboutModel', [])
.factory(
'AboutModel',
[
function() {
var paragraphs = [];
var AboutModel = {
setParagraphs: function (newParagraphs) {
paragraphs = newParagraphs;
},
getParagraphs: function() {
return paragraphs;
}
};
return AboutModel;
}
]
);
要求很簡單:提供一個getter和名爲paragraphs
私人陣列setter方法。
這裏是據我已經與測試套件的代碼有:
describe('Testing AboutModel:', function() {
describe('paragraphs setter', function() {
beforeEach(module('AboutModel'));
it('sets correct value', inject(function (model) {
// STUCK HERE
// don't know how to access the model, or the setParagraphs() method
}));
});
describe('paragraphs getter', function() {
// not implemented yet
});
});
我已經做了相當多的谷歌研發的網絡上,但至今沒有喜悅。
解決方案必須簡單;請幫忙!
它甚至可能是一個更好的方式來實現模型...開放的建議,使其更好。
任何有興趣,完整的源代碼是在這裏: https://github.com/mcalthrop/profiles/tree/imp/angular
在此先感謝
馬特
優秀!謝謝西蒙。 雖然有一個問題:是不是第二個測試是多餘的? ie,是不是你只是直接測試你剛剛做了什麼? –
我想認爲它在測試中更加徹底:)第一個測試確保設置段落符合我們的期望,即將其分配給模型段落變量。第二個測試確保它將段落設置爲我們通過它的確切值。有些人可能會在一種測試方法中使用多個期望來做到這一點,我傾向於按照測試方法運行一種期望。 – newtriks
很酷。完全同意「每個測試的一個斷言」方法。 –