我有一個具有內回調控制器如何單元測試控制器回調:在AngularJS
angular.module('controllers').controller('MainCtrl', function() {
var result = {};
var self = this;
this.test = function(data) {
jsonld.expand(data, function(err, expanded) {
self.result = expanded;
});
}
});
我的問題是,我需要在一個單元測試,以檢查「結果」的值,但如果我只是調用ctrl.test(data)然後ctrl.result,那麼ctrl.result的值是{},它應該是測試函數(在jsonld.expand內部)返回的內容。有沒有辦法測試這種行爲(發生回調時測試self.result)?
我已經搜遍了,但我發現的一切都與定製服務有關,但在這種情況下,這是一個external library。
您是否檢查了這篇文章? :http://martinfowler.com/articles/asyncJS.html –