0
我得到了一些單元測試要做的關於我使用的服務(angular-websql),我得到了一個癢的問題。AngularJS - WebSQL - 在茉莉花測試在對象返回多個承諾
此服務 - $的WebSQL - 將創建一個數據庫,是具有多種功能的對象:
$scope.db = $webSql.openDatabase('lastUser', '1.0', 'Data storage of last connected user', 2 * 1024 * 1024);
$scope.db.select(tableName, whereClause).then(function (result) {...});
$scope.db.insert(tableName, whereClause).then(function (result) {...});
$scope.db.update(tableName, whereClause).then(function (result) {...});
$scope.db.del(tableName, whereClause).then(function (result) {...});
And so on...
在我的單元測試,我嘲笑的服務如下:
mock$webSql = {
openDatabase: function() {
return {
createTable: function() {
var d = _$q_.defer();
d.resolve();
return d.promise;
},
insert: function() {
var d = _$q_.defer();
d.resolve();
return d.promise;
},
del: function() {
var d = _$q_.defer();
d.resolve();
return d.promise;
},
update: function() {
var d = _$q_.defer();
d.resolve();
return d.promise;
},
select: function() {
var d = _$q_.defer();
d.resolve();
return d.promise;
}
};
}
};
問題是我在我的控制器中評估我的承諾的結果,例如,我在select函數之後測試結果以查看我的表中是否有一行。所以,我使用了一些像result.rows.length
這樣的東西,但我不知道如何用Jasmine進行測試。