假设我们有一个angular服务,其功能如下:

this.getAllBranches = function () {

    var deferred = $q.defer();

    db.transaction(function (tx) {
        tx.executeSql("select * from branch", [], function (tx, res) {
            var branchList = [];
            for (var i = 0; i < res.rows.length; i++) {
                var branch = {};
                branch.id = res.rows.item(i).id;
                branch.code = res.rows.item(i).code;
                branch.address = res.rows.item(i).address;
                branch.city = res.rows.item(i).city;
                branch.state = res.rows.item(i).state;
                branch.zip = res.rows.item(i).zip;

                branchList.push(branch);
            }

            deferred.resolve(branchList);
        }, function (t, e) {
            alert('An error occurred getting list of branches.');
            deferred.reject(e);
        });
    });

    return deferred.promise;
};


我们如何测试以上功能?

最佳答案

看一下cordova-plugin-test-framework-所有核心的cordova插件都将其用于自动和手动测试;工作流程如下:


创建一个新的应用程序,
添加三个插件:

cordova plugin add path-to-cloned-plugin
cordova plugin add path-to-cloned-plugin/tests
cordova plugin add https://github.com/apache/cordova-plugin-test-framework.git
更新应用程序根目录下的config.xml-将<content src="index.html">更改为<content src="cdvtests/index.html">
运行应用程序。


您可以在Cordova-sqlite-storage中研究如何完成此操作,以作为参考。
可以在here中找到其他sqlite测试。

07-28 03:43
查看更多