angularjs - Jasmine JS : How to write unit tests for Cordova SQLite plugin queries?

标签 angularjs sqlite cordova jasmine cordova-plugins

假设,我们有一个 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-plugincordova plugin add path-to-cloned-plugin/testscordova 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 中调查它是如何完成的。作为引用。
    可以找到其他 sqlite 测试 here .

    关于angularjs - Jasmine JS : How to write unit tests for Cordova SQLite plugin queries?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34531883/

    相关文章:

    javascript - 从指令更改 ngModel 值

    android - 插入时数据类型不匹配(代码 20)

    ios填充sqlite数据库错误,未写入最终条目

    android - 显示隐藏键盘在 android phonegap 中无法正常工作

    android - 安装 cordova 并添加平台

    javascript - Angular ui-router $state.go 不改变状态?

    javascript - 在 Angular JS 上预填充关键字搜索过滤器

    html - 转换 : scale() in CSS? 的替代方案

    java - 将 xls 文件中的数据插入 SQLite android 时出错

    android - 如何在我的 Cordova 应用程序中创建 android.json?