Typescript 测试驱动开发 TDD (4)
Jest
Jest是一个简单易配置且功能强大的JavaScript单元测试框架,它构建在流行的Jasmine框架之上。Jasmine已经存在很长时间了,是一个成熟、功能齐全且广泛使用的测试框架。Jest通过使配置更加容易,并提供丰富的额外功能来增强Jasmine。Jest还可以并发运行测试,这显著加快了测试套件运行所需的时间。你可以通过npm获取Jest,并因此需要创建一个npm环境,具体操作如下:
npm init
在这里,我们已经初始化了一个npm项目,现在可以安装所需的Jest包,如下所示:
npm install jest --save-dev
安装了Jest之后,我们可以使用命令npx jest来运行它,或者我们可以修改package.json文件以指定在运行npm test时将使用Jest。让我们按照以下方式更新我们的package.json文件:
{ "name": "src", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "jest" }, "author": "", "license": "ISC", "dependencies": {}, "devDependencies": { "jest": "^26.5.3" } }
在这里,我们已经更新了scripts属性的test子属性,以指定jest作为我们的主要测试框架。现在我们可以使用npm运行单元测试,如下所示:
npm test
在这里,我们使用npm启动jest测试运行器。不幸的是,我们还没有编写任何测试,因此将会在控制台上看到以下错误信息:
No tests found, exiting with code 1
Jest 默认会查找以 *.spec.js 命名的文件来运行测试。spec 是 specification 的缩写,因此这些 spec 文件包含了我们所有的测试规范。通常情况下,我们的测试规范文件会与普通组件放在同一个目录中,所以一个名为 search.js 的组件将有一个对应的测试规范文件命名为 search.spec.js。
那么,让我们开始编写一些测试规范吧。