jasmine-JavaScript单元测试工具

Jasmine 是什么?

jasmine是一个用来编写Javascript测试的框架,它不依赖于任何其它的javascript框架。它有拥有灵巧而明确的语法可以让你轻松的编写测试代码。
官方地址:
https://jasmine.github.io/

Github 下载
https://github.com/jasmine/jasmine

发布版本下载
https://github.com/jasmine/jasmine/releases
目前最新版本 3.3.0
发布版本进入以上页面下载:
在这里插入图片描述

快速了解

解压下载的文件 jasmine-standalone-3.3.0.zip, 目录如下
在这里插入图片描述
三个目录夹里面放的是框架的js和一些css, png的资源文件,SpecRunner.html是一个demo的实例,直接在浏览器中查看:
在这里插入图片描述

快速实例

1. 新建一个目录  jasmine_unittest

2. 将下载的 zip解压到 jasmine_unittest, 解压后的目录是jasmine, 里面包含 lib, src等子目录

  1. 新建js 文件jasmineHelloWorld.js,内容如下:
describe("My first Jasmine test", function() {
	it("nothing", function() {
		});
});
  1. 新建html文件 jasmineHelloWorld.html, 内容如下:
<html>
<head>

<link rel="shortcut icon" type="image/png" href="jasmine/lib/jasmine-3.3.0/jasmine_favicon.png">
<link rel="stylesheet" type="text/css" href="jasmine/lib/jasmine-3.3.0/jasmine.css">

<script type="text/javascript" src="jasmine/lib/jasmine-3.3.0/jasmine.js"></script>
<script type="text/javascript" src="jasmine/lib/jasmine-3.3.0/jasmine-html.js"></script>
<script type="text/javascript" src="jasmine/lib/jasmine-3.3.0/boot.js"></script>

<script type="text/javascript" src="jasmineHelloWorld.js"></script>
</head>

<body>
</body>
</html>

这里导入了jasmine的js和css文件
5. 在Chrome中打开jasmineHelloWorld.html, 也可按F12打开debug模式看一下控制台。
在这里插入图片描述

测试看上去通过了, 但是会提示 “has no expectations.” 并在在控制台有打印。
如果是Java后端开发人员对这个很容易理解, 类似JUnit中测试类没有测试方法的提示。

6.增加测试,改动jasmineHelloWorld.js如下:
describe(“My first Jasmine test”, function() {
it(“nothing”, function() {
expect(1).toBe(1);
});
});
expect(1).toBe(1); 字面意思就是1期望等于1 , 看一下页面效果
在这里插入图片描述

  1. 测试失败效果
    修改 expect(1).toBe(1); 为 expect(1).toBe(2);
    在这里插入图片描述

到这,初步的功能应该了然了。

语法介绍

在测试上,有一些术语,对比一下,就很容易理解jasmine的语法,包括:
测试集合、测试包: Test Suite,
测试用例: Test Case
对应到jasmine

  1. describe(string, function):可以理解为是一个测试集或者测试包。
    参数string:描述测试包的信息
    参数function:测试集的具体实现
  2. it(string, function):测试用例(官方称之为spec)。
    参数string:描述测试用例的信息
    参数function:测试用例的具体实现

每个测试文件中可以包含多个describe
每个describe中可以包含多个it
每个it中可以包含多个expect,Jasmine还允许describe的嵌套使用。

细节语法,待进一步介绍

后言

前端的单元测试出现的比较晚,在实际的开发中也不是很多见, 但随着Web技术的发展及前端框架的兴起,前后端分离的开发框架逐步使用,对前端的独立的、完备的质量要求也就会越来越多。Jasmine这个框架本身的应用也不是很普通,但ExtJS的测试工具Sencha Test就是基于这个框架来进行测试的。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
### 回答1: JavaScript 单元测试是在编写代码之后,用来验证代码功能是否正确的过程。通常使用测试框架来编写和运行单元测试,并且会使用断言库来验证代码的结果是否符合预期。 举个例子,假设我们编写了一个函数来计算两个数字的和,那么我们可以使用单元测试来验证这个函数的输出是否正确,例如: ``` // 函数定义 function add(a, b) { return a + b; } // 单元测试 it('should return the sum of two numbers', () => { expect(add(2, 3)).toEqual(5); expect(add(-2, 3)).toEqual(1); expect(add(2, -3)).toEqual(-1); }); ``` 在上面的代码中,我们使用了测试框架中的 `it` 函数来定义一个单元测试,并使用断言库中的 `expect` 函数和 `toEqual` 方法来验证函数的输出是否符合预期。 单元测试可以帮助我们更好地理解代码的行为,并且在修改代码后能够快速发现问题。 ### 回答2: JavaScript 单元测试是一种用于测试代码中最小可测试单元的方法。它的目的是确保代码的功能正确,并提高代码的可靠性和可维护性。 在 JavaScript 单元测试中,我们会编写一些测试用例来验证代码的不同方面。测试用例通常包括输入数据、预期输出以及要调用的函数或代码块。在执行测试用例时,我们会将输入数据提供给相应的函数或代码块,并检查实际的输出是否和预期输出一致。 JavaScript 单元测试的好处有很多。首先,它可以帮助我们发现代码中的 bug,确保我们的代码在各种情况下都能正常工作。其次,单元测试可以提供一种快速测试代码的方法,以确保之前的修改没有引入新的问题。此外,单元测试还可以提高代码的可维护性,因为每个单元测试都相当于对代码的一份文档,有助于其他开发者理解和修改代码。 有许多 JavaScript 单元测试框架可以用于编写和执行单元测试,如Mocha、Jasmine、Jest等。这些框架提供了一些函数和工具,以简化编写和执行单元测试的过程。 总的来说,JavaScript 单元测试是一种重要的开发实践,它可以确保我们的代码在各种情况下都能正确工作,并提高代码的可靠性和可维护性。通过使用合适的单元测试框架,我们可以更高效地编写和执行单元测试,从而提高代码质量和开发效率。 ### 回答3: JavaScript 单元测试是用来测试JavaScript代码中最小的可测试单元的一种方法。它用于确保代码的正确性和稳定性,并帮助开发人员及时发现和修复代码中的bug。 单元测试通过针对代码中的各个函数、方法和类进行测试,来验证它们的行为是否符合预期。通过编写测试用例并运行它们,开发人员可以观察测试结果并判断代码是否能够按照期望的方式运行。这种方式有助于发现隐藏的错误和边界情况,并提供了一种自动化、可靠的方法来验证代码的准确性。 在JavaScript中,常用的单元测试框架有Mocha、Jasmine和Jest等。这些框架提供了丰富的API和功能,可以帮助开发人员编写和运行测试用例。测试用例通常包含期望值和实际值的比较,以及对代码行为的验证。开发人员可以编写多个测试用例来测试不同的边界情况,从而提高代码的健壮性。 单元测试可以带来许多好处。首先,它可以减少手动测试的工作量,提高开发效率。其次,它可以帮助开发人员更早地发现和修复代码中的错误,减少后期维护的成本。此外,单元测试还可以提高代码的可维护性和可读性,使代码更易于理解和修改。 总之,JavaScript单元测试是一种重要的开发实践,它可以确保代码质量和稳定性,并提供一个自动化的方式来验证代码的正确性。通过编写和运行测试用例,开发人员可以更加自信地发布高质量的JavaScript代码。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

oscar999

送以玫瑰,手留余香

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值