当我运行 Jest 测试时,是否可以选择显示所有测试描述?

IT技术 reactjs jestjs enzyme create-react-app
2021-05-13 07:31:28

我在我的 create-react-app 项目中使用了 jest 和酶。当我运行时npm test,我得到一个输出,显示通过的测试文件的名称,但我希望输出还包括测试的名称。

例子:

按钮.test.js

it ('renders button', () => {
    const button = shallow(<Button type="save"/>);
    expect(toJson(button)).toMatchSnapshot();
});

现在,当我运行 npm test 时,输出只是:

通过 src/Button.test.js"

以及通过和失败测试的数量(当测试成功时)。我希望输出包含“渲染按钮”和任何其他测试描述(例如运行 rspec 测试时输出的外观)。

4个回答

来自Jest 的命令行选项文档

--详细

使用测试套件层次结构显示单个测试结果。

所以跑步

jest --verbose

将打印describe, it,test块中的所有名称
如果你正在运行测试yarn,你可以做

yarn test --verbose

如果你正在运行测试npm,你可以做

npm test -- --verbose

如果您想将此设为默认值,请更改您的测试脚本 package.json

"test": "react-scripts test --env=jsdom --verbose",

现在,这两个yarn testnpm test应该显示所有测试的名称。

请注意,而不是

jest --verbose

您还可以设置verbosetruejest.config.js

// jest.config.js
module.exports = {
  ...
  verbose: true,
}

--verbose标志听起来像是可以满足您的要求。根据docs,它显示单个测试结果。

我在使用 create-react-app(同时使用 jest 和酶)时遇到了同样的问题,但是test在 package.json中将现有脚本附加到--verbose=true. 所以现在出现"test": "react-scripts test --env=jsdom --verbose=true"