技术开发 频道

HTML5实战:用Jquery Mobile制作记事本

  使用Jasmine Framework框架进行为驱动开发

  首先,我们将一步以实例的方式,一边让用户体验什么是行为驱动模式的开发。这种开发模式,能让我们先行定义和测试业务逻辑,可以跟表现层进行分离地设计。先来看下如何使用Jasmine framework这个框架。

  Jasmine是一个允许开发者使用行为驱动的方式对Javascript进行测试的框架。这意味着开发者可以使用类似自然语言(易于理解)的方式,通过Jasmine编写测试用例,最后生成Javascript代码,这样明显降低了开发的难度,甚至让不是专业程序员的人也能读懂和编写。

  下面快速举一个例子来说明Jasmine框架的使用,更复杂的用法,请参考其官方网站的手册,这个例子希望读者能理解,我们将在教程中稍后会用到。

   describe("Notes functions", function () {
    it(
"Should return a NoteModel instance", function () {
        var note
= Notes.app.createNote();
        expect(note instanceof Notes.model.NoteModel).toBeTruthy();
    });
});

  在这个例子中,我们使用了多种Jasmine框架的特性。其中一个函数方法就是describe(),这个函数用来创建一个包含所有相关的测试的规格说明,我们称之为测试套件。

  其中,一个测试规格说明是通过函数方法it()中声明的。当调用it()方法时,要传递一个字符串参数进去,比如这里,我们期待代码能创建并返回一个NoteModel的实例。

  接下来,我们通过 var note = Notes.app.createNote();创建了NoteModel的实例,然后使用了expect()函数这个断言(在单元测试中我们称之为断言),这里是断言判断note是否为Notes.model.NoteModel的一个实例,并使用toBeThruthy()这个匹配器去判断这个测试用例是否能正确通过测试。关于匹配器请参考(https://github.com/pivotal/jasmine/wiki/Matchers )。

  小结一下,在it()这个函数中,开发者可以编写相关的代码建立测试用例,并可以多次调用expect()方法。

0
相关文章