技术开发 频道

jQuery Mobile框架开发实战及效果展示

  测试获得记事列表

  接下来,我们看下测试如何将记事保存到localstorage中去,并且放到一个助手方法中去,命名为TestHelper.js文件,代码如下:

  Notes.testHelper = (function () {
    
function createDummyNotes() {
        var notesListStorageKey
= "Notes.NotesList";
        var notesCount
= 10;
        var notes
= [];
        
for (var i = 0; i < notesCount; i++) {
            var note
= Notes.dataContext.createBlankNote();
            note.title
= "Title " + i;
            note.narrative
= "Narrative " + i;
            notes.push(note);
        }
        $.jStorage.set(notesListStorageKey, notes);
    };
    return {
        createDummyNotes: createDummyNotes
    }
})();

  在上面的代码中,将调用Notes.dataContext.createBlankNote()方法生成记事记录内容,并将其插入到notes数组中,最后通过jStorage插件,将notes数组保存到本地设备存储中去。

  同时,在specrunner.html中,也要加入TestHelper.js的引用,如下:

<!-- App -->
<script type="text/javascript" src="app/DataContext.js"></script>
<script type="text/javascript" src="app/NoteModel.js"></script>
<!-- Test Helper -->
<script type="text/javascript" src="spec/TestHelper.js"></script>
<!-- Spec -->
<script type="text/javascript" src="spec/AppSpec.js"></script>

  而在AppSpec.js中,我们可以增加一个测试断言如下:

it("Returns dummy notes saved in local storage", function () {
    Notes.testHelper.createDummyNotes();
      Notes.dataContext.init();
    var notesList
= Notes.dataContext.getNotesList();
    expect(notesList.length
> 0).toBeTruthy();
});

  在上面这个测试用例中,首先调用了testHelper助手类中的createDummyNotes创建了记事内容,并且调用了在init()方法,注意在init()方法中,也调用了loadNotesFromLocalStorage()方法,将记事从设备的localStorage中获取,再断言判断反序列化后的notesList是否为空。

2
相关文章