Jasmine入门

本文是jasmine学习整理文章。适合入门,是作者参考了网上三篇文章之后,自己整理的。

初学者可以百度进入jasmine官网,点击release菜单进入github的版本释放页面:https://github.com/jasmine/jasmine/releases;下载最近的版本。下载之后

目录结构解释一下:

  • lib:存放了运行测试案例所必须的文件,其内包含jasmine-2.2.0文件夹。可以将不同版本的Jasmine放在lib下,以便使用时切换。
  • jasmine.js:整个框架的核心代码。
  • jasmine-html.js:用来展示测试结果的js文件。
  • boot.js:jasmine框架的的启动脚本。需要注意的是,这个脚本应该放在jasmine.js之后,自己的js测试代码之前加载。
  • jasmine.css:用来美化测试结果。
  • spec:存放测试脚本。
  • PlayerSpec.js:就是针对src文件夹下的Player.js所写的测试用例。
  • SpecHelper.js:用来添加自定义的检验规则,如果框架本身提供的规则(诸如toBe,toNotBe等)不适用,就可以额外添加自己的规则(在本文件中添加了自定义的规则toBePlaying)。
  • src:存放需要测试的js文件。Jasmine提供了一个Example(Player.js,Song.js)。
  • SpecRunner.html:运行测试用例的环境。它将上面3个文件夹中一些必要的文件都包

总结一下:

Suite表示一个测试集,以函数describe(string, function)封装,它包含2个参数:
string:测试组名称,
function:测试组函数。
Specs 通过调用 it 的全局函数来定义。
一个Suite(describe)包含多个Specs(it),一个Specs(it)包含多个断言(expect)。
 
下载文档是官方提供的测试文档,可以直接打开html文件查看测试结果。而所谓的测试就是通过一个测试集,测试集下面有测试方案,测试方案下有多个断言。
给一个简单的测试用例吧,直接将SpecRunner文件中的官方链接测试脚本下图中
 
替换为下面脚本,然后运行html文件,就可以看自己案例的效果了。
describe("Test suite is a function.", function() {
  var gVar;
 
  it("Spec is a function.", function() {
    gVar = true;
    expect(gVar).toBe(true);
  });
 
  it("Another spec is a function.", function() {
    gVar = false;
    expect(gVar).toBe(false);
  });
 
});

  测试本质就是输入一些内容,然后判断其与输出的关系。当然实际当中会有很多关系,这个关系就构成了jasmine的各种方法了也就是各种Matchers,具体的有哪些方法参考下面文章吧。

参考文章:
原文地址:https://www.cnblogs.com/zhensg123/p/7392716.html