0
を返すオブジェクトのジャスミンとカルマでのテストは、私はいくつかのユニットテストは、(角-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
のようなものを使用していますが、ジャスミンでテストする方法はわかりません。