Grunt 运行 Jasmine 测试: grunt-contrib-jasmine-示例

上一篇是 Grunt 运行 Jasmine 测试用例: grunt-contrib-jasmine-实例,本篇叫做示例。其竟在于对 grunt-contrib-jasmine-example 的简单的窥探,进而自己的项目中可以如何如何。

如果剔除该项目的几个外围文件,就只下面的结构了

这算是一个最简单的 Jasmine 项目布局了。各位可以自己去查看上面的 Gruntfile.js 和 package.json 的内容,我这里自己来亲自打造一个比这还更简单的项目来,把原来的 jshint 任务也拿掉了。

1. 首先创建项目目录 TestJasmine

2. 在其中创建 package.json 文件,内容基本不能再节俭了

3. 加入 grunt-contrib-jasmine 依赖,通过运行 npm install grunt-contrib-jasmine --save-dev , 这时候  package.json 中的内容变成

4. 创建 Gruntfile.js 文件,不需要单独运行 npm install 命令了,Gruntfile.js 的内容

现在 Gruntfile.js 和 package.json 都有了,就差实际的项目文件了。这里继续发扬一切从俭的原则,坚决不让火葬比土葬的成本还高,对大自然造成的危害更大。

5. 创建待测试代码 src/Animals.js,内容为

6. 创建 spec/AnimalsSpec.js, 内容为

至于 Jasmine 的 Spec 怎么写这里就不作交待了,模式就是 describe..it..expect..toBeXxx(),能够作什么样的断言请查找 Jasmine 相关资料 http://jasmine.github.io/2.0/introduction.html

7. 运行 grunt test,结果如下

grunt-jasmine-test-animals

这里一个 Warning: Task "jasmine:src" failed, 尚不知为何。

总之现在测试有失败的,我们打开生成的 _SpecRunner.html 来看看

grunt-jasmine-failure

首先展示出的是错误用例的页面,可以切到 Spec List 页面

grunt-jasmine-specs

我们也可以在生成的 _SpecRunner.html 中直接运行测试用例,修改测试后,刷新页面会运行所有的测试,点击 Animals 这个 Spec 就会重跑 Animals 这里的测试。

接下来就是它怎么与持续构建工具,如 Jenkins 怎么集成的问题。还有怎么生成测试覆盖报告,这可以用 istanbul 这个工具,也能与 Jasmine 联结起来,通过 https://github.com/maenu/grunt-template-jasmine-istanbul

参考:1. https://github.com/gruntjs/grunt-contrib-jasmine
2. https://github.com/jsoverson/grunt-contrib-jasmine-example
3. https://github.com/jasmine-contrib/grunt-jasmine-runner
4. https://github.com/maenu/grunt-template-jasmine-istanbul
5. https://github.com/gotwarlost/istanbul
6. Run all your JavaScript Jasmine tests on every commit

类别: NodeJS. 标签: , , , . 阅读(498). 订阅评论. TrackBack.

Leave a Reply

Be the First to Comment!

avatar