技术开发 频道

jQuery Mobile开发记事本应用第三季

  【IT168技术】在上一讲中,我们学习了如何通过jasmine的BDD驱动开发框架,一边编写单元测试用例一边按照MVC的架构编写了数据模型层,控制层和表现层的基本代码。在本文中,将继续介绍如下的几个方面内容。

  1、如何在记事列表页面和记事编辑页面之间通过URL和参数传递信息。

  2、如何在记事的编辑页面中加载一个记事内容进行编辑。

  3、如何保存或者编辑一个记事内容。

  我们预期完成本讲后,能设计出如下功能的界面:

步骤一、重构 

  步骤一、重构

  下面我们开始重构之旅。之前我们的数据访问上下文在调用jStorage插件时,是直接引用了jQuery的类库的。我们现在进行一点修改,当访问数据模块dataContext时,将jQuery作为参数进行传递,如下:

  Notes.dataContext = (function ($) {

  // ……….

  } (jQuery));

  除此以外,我们将之前在程序中对在localstorage中保存的键值的名称去掉,原来是这样的:

  var notesListStorageKey = "Notes.NotesList";

  我们则可以通过init方法将这个值以参数的形式传递到dataContext中,如下所示:

  var init = function (storageKey) {

  notesListStorageKey = storageKey;

  loadNotesFromLocalStorage();

  };

  当然,这个测试用例也很简单,我们稍微修改一下就可以了,注意修改的是

  AppSpec.js文件,如下代码所示:

describe("Data Context tests", function () {
    var notesListStorageKey
= "Notes.NotesListTest";
    
// 省略其他部分
    it(
"Returns dummy notes saved in local storage", function () {
        Notes.testHelper.createDummyNotes();
        
//从localstorage中加载记事
        Notes.dataContext.init(notesListStorageKey);
        var notesList
= Notes.dataContext.getNotesList();
        expect(notesList.length
> 0).toBeTruthy();
    });
});
0
相关文章