ChatGPT解决这个技术问题 Extra ChatGPT

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

我在我的 create-react-app 项目中使用 jest 和酵素。当我运行 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 测试时输出的外观)。


C
Community

来自Jest's command-line options docs

--verbose 显示带有测试套件层次结构的单个测试结果。

所以跑步

jest --verbose

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

yarn test --verbose

如果您使用 npm 运行测试,您可以执行

npm test -- --verbose

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

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

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


d
dansalias

请注意,而不是

jest --verbose

您还可以在 jest.config.jsverbose 设置为 true

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

使用 vue cli 4 并运行 npm run test:unit 时,将其添加到 jest.config.js 是唯一的方法
S
Steve Vaughan

--verbose 标志听起来可能会满足您的需求。根据 docs,它显示单个测试结果。


我尝试使用它,输出似乎没有任何不同
你的 npm 脚本和 jest 配置的内容是什么?
@Sendai 记得添加两个连字符以从 npm 参数转义到 jest 参数 - 就像这样:npm test -- --verbose。 (否则,--verbose 参数转到 npm,您将看到详细的 npm 输出而不是详细的 jest 输出。)
Y
Yamakage2077

我在使用 create-react-app 时遇到了同样的问题(同时使用 jest 和酶),但是在 package.json 中的现有 test 脚本与 --verbose=true 附加后能够显示测试。所以它现在显示为 "test": "react-scripts test --env=jsdom --verbose=true"


P
Partho63

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

注意:使用 npm run test 描述也没有反映给我。