乐闻世界logo
搜索文章和话题

How do I run a single test using Jest?

4 个月前提问
3 个月前修改
浏览次数47

1个答案

1

在使用Jest进行单元测试时,有几种方法可以只运行单个测试或一组特定的测试。

1. 使用test.onlyit.only

如果您的测试代码中有多个测试(ittest 函数),您可以在想要独立运行的测试前加上 .only,这样 Jest 就只会执行这个测试。例如:

javascript
test('这是一个普通的测试', () => { expect(true).toBe(true); }); test.only('这是将被运行的唯一测试', () => { expect(true).toBe(true); }); test('这又是一个普通的测试', () => { expect(true).toBe(true); });

在上面的代码中,只有标记为 test.only 的测试会被执行。

2. 使用Jest命令行选项--testNamePattern-t

您可以使用 Jest 的命令行选项 --testNamePattern 或简写 -t 来运行匹配特定名称的测试。这可以通过部分匹配测试的名称来完成。例如,如果您只想运行名为“将被运行的唯一测试”的测试,您可以在命令行中使用:

bash
jest --testNamePattern="将被运行的唯一测试"

或者使用简写形式:

bash
jest -t "将被运行的唯一测试"

3. 使用文件名

如果您只想运行一个特定的测试文件,可以直接在 jest 命令后面指定文件名:

bash
jest path/to/your/test/file.test.js

这将只执行指定的测试文件中的所有测试。

示例场景

假设您正在开发一个电子商务应用,并且您有一个测试文件用于测试商品添加到购物车的功能。如果您只想快速检查“添加单个商品”这一功能是否正常工作,而不运行整个文件中的所有测试,您可以在该测试前加上 test.only 或使用 -t 选项来只运行该测试。这样可以节省时间,特别是在开发初期,当您可能需要频繁地运行某些特定测试以验证代码更改时。

使用这些方法可以有效地控制测试执行的范围,使得在大型项目中进行单元测试时更加高效和目标明确。

2024年6月29日 12:07 回复

你的答案