当我运行测试时,是否有显示所有测试描述的选项?

我在我的创造反应应用程序项目中使用了 jest 和 ase。当我运行 npm test时,我得到一个输出,它显示了通过的测试文件的名称,但是我希望输出也包含测试的名称。

例如:

Button.test.js

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

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

通过 src/Button.test.js”

以及通过和失败测试的次数(当测试成功时)。我希望输出包括“呈现按钮”和任何其他测试描述(比如运行 rspec 测试时输出的样子)。

58068 次浏览

--verbose标志听起来好像可以完成您想要的任务。根据 医生,它显示单独的测试结果。

我在 create-response-app 中遇到了同样的问题(同时使用 jest 和 ase) ,但是在将现有的 test脚本附加到 package.json 和 --verbose=true之后,我能够让测试出现。现在看来是 "test": "react-scripts test --env=jsdom --verbose=true"

来自 Jest 的命令行选项文档

冗长

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

所以要逃跑

jest --verbose

将打印 describeittest块中的所有名称。
如果您正在使用 yarn运行测试,那么可以这样做

yarn test --verbose

如果您正在使用 npm运行测试,那么可以这样做

npm test -- --verbose

如果希望使用此默认值,请在 package.json中更改测试脚本

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

现在,yarn testnpm test都应该显示所有测试名称。

在 package.json ("test": "react-scripts test --env=jsdom --verbose",)中执行此配置之后,尝试通过 npm test运行测试。

注意: 使用 npm 运行测试描述对我来说也没有反映出来。

请注意

jest --verbose

你亦可透过以下方式:

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