Typescript 测试驱动开发 TDD (4)

发布时间 2023-09-21 12:42:30作者: bisslot

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。
那么,让我们开始编写一些测试规范吧。