Javascript测试框架Jasmine(一):简介
2017-11-09 22:04
573 查看
zz from: http://keenwon.com/1191.html
随着javascript程序的复杂度加深,测试的重要性越来越明显。Javascript的测试框架有很多,例如:Jasmine,Qunit,JsTestDriver,JSUnit,Mocha等。经过一番对比后决定使用Jasmine。Jasmine是一套Javascript行为驱动开发框架(BDD),干净简洁,表达力强且易于组织,不依赖于其他任何框架和DOM,可运行于Node.js,浏览器端或移动端。
下载GitHub上的项目。解压后,
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Jasmine Spec Runner v2.0.0</title>
<link rel="shortcut icon" type="image/png" href="lib/jasmine-2.0.0/jasmine_favicon.png">
<link rel="stylesheet" type="text/css" href="lib/jasmine-2.0.0/jasmine.css">
<script type="text/javascript" src="lib/jasmine-2.0.0/jasmine.js"></script>
<script type="text/javascript" src="lib/jasmine-2.0.0/jasmine-html.js"></script>
<script type="text/javascript" src="lib/jasmine-2.0.0/boot.js"></script>
<!-- 被测试的代码 -->
<script type="text/javascript" src="src/Player.js"></script>
<script type="text/javascript" src="src/Song.js"></script>
<!-- 测试用例代码 -->
<script type="text/javascript" src="spec/SpecHelper.js"></script>
<script type="text/javascript" src="spec/PlayerSpec.js"></script>
</head>
<body>
</body>
</html>
我把官方的例子部署在了我的Demo站上,点击查看。下面讲一些基础。
Suites可以理解为一组测试,使用全局的Jasmin函数
Specs可以理解为一个测试,使用全局的Jasmin函数
由于
expectations由
最后看个最简单的例子:
describe("A suite", function () {
it("contains spec with an expectation", function () {
expect(true).toBe(true);
});
});
– 下一篇讲一下Matcher –
随着javascript程序的复杂度加深,测试的重要性越来越明显。Javascript的测试框架有很多,例如:Jasmine,Qunit,JsTestDriver,JSUnit,Mocha等。经过一番对比后决定使用Jasmine。Jasmine是一套Javascript行为驱动开发框架(BDD),干净简洁,表达力强且易于组织,不依赖于其他任何框架和DOM,可运行于Node.js,浏览器端或移动端。
下载运行
下载GitHub上的项目。解压后,dist下就是各个版本的独立运行包,解压最新的2.0.0版本,双击打开
SpecRunner.html即可运行测试,注意要在
SpecRunner.html的
<head>内引用Jasmine的js文件和测试文件。想简单使用的话,将
soucre/spec下的测试文件替换成你自己的即可。
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Jasmine Spec Runner v2.0.0</title>
<link rel="shortcut icon" type="image/png" href="lib/jasmine-2.0.0/jasmine_favicon.png">
<link rel="stylesheet" type="text/css" href="lib/jasmine-2.0.0/jasmine.css">
<script type="text/javascript" src="lib/jasmine-2.0.0/jasmine.js"></script>
<script type="text/javascript" src="lib/jasmine-2.0.0/jasmine-html.js"></script>
<script type="text/javascript" src="lib/jasmine-2.0.0/boot.js"></script>
<!-- 被测试的代码 -->
<script type="text/javascript" src="src/Player.js"></script>
<script type="text/javascript" src="src/Song.js"></script>
<!-- 测试用例代码 -->
<script type="text/javascript" src="spec/SpecHelper.js"></script>
<script type="text/javascript" src="spec/PlayerSpec.js"></script>
</head>
<body>
</body>
</html>
我把官方的例子部署在了我的Demo站上,点击查看。下面讲一些基础。
Suites
Suites可以理解为一组测试,使用全局的Jasmin函数describe创建。
describe函数接受两个参数,一个字符串和一个函数。字符串是这个Suites的名字或标题(通常描述下测试内容),函数是实现Suites的代码块。
Specs
Specs可以理解为一个测试,使用全局的Jasmin函数it创建。和
describe一样接受两个参数,一个字符串和一个函数,函数就是要执行的测试,字符串就是测试的名字。一个Spec可以包含多个expectations来测试代码。在Jasmine中,一个expectations就是一个断言,只能是
true或
false。只有全部expectations是
true的时候spec才会通过。
由于
describe和
it块实质上都函数,所有他可以包含任何的可执行代码。javascript的作用域规则也是适用的,所以
describe内定义的变量,其内部所有的
it都能访问到。
Expectations
expectations由expect函数创建。接受一个参数。和Matcher一起联用,设置测试的预期值。
最后看个最简单的例子:
describe("A suite", function () {
it("contains spec with an expectation", function () {
expect(true).toBe(true);
});
});
– 下一篇讲一下Matcher –
相关文章推荐
- Jasmine-基于JavaScript的行为驱动单元测试框架简介
- 使用Jasmine测试你的Javascript(一)之 Jasmine简介
- JS测试框架-Jasmine简介
- jasmine测试框架简介
- 进入Jasmine的世界——超强Javascript测试框架
- javaScript测试框架jasmine介绍(一)
- JavaScript测试框架Jasmine学习(一)
- Javascript测试框架Jasmine(二):Matchers
- Javascript测试框架Jasmine(三):Setup、Teardown、嵌套describe等
- Javascript测试框架Jasmine(四):自定义Matcher
- Javascript测试框架Jasmine(五):Spies
- Javascript测试框架Jasmine
- JavaScript 测试框架 ( QUnit , javascript code coverage , JSCoverage , Pavlov , Jasmine )
- Javascript测试框架Jasmine(六):异步代码测试
- Javascript测试框架Jasmine(七):jqPaginator测试实例
- JavaScript图表图形框架 -- GOJS简介
- JavaScript 单元测试框架:Jasmine 初探
- Python 各种测试框架简介(三):nose
- Python单元测试框架unittest测试过程简介
- 测试框架简介