运行笑话测试时是否可以显示所有测试说明?


74

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

例:

Button.test.js

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

现在,当我运行npm test时,输出仅为:

通过src / Button.test.js“

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

Answers:


128

Jest的命令行选项文档

-详细

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

所以跑步

jest --verbose

将打印在所有的名字describeittest块。
如果您使用进行测试yarn,则可以

yarn test --verbose

如果您使用进行测试npm,则可以

npm test -- --verbose

如果要将此设置为默认值,请在以下位置更改测试脚本 package.json

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

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


16

--verbose标志听起来像它可能会执行您想要的操作。根据docs,它显示单个测试结果。


1
我尝试使用它,输出似乎没有任何不同
仙台市

您的npm脚本和jest配置的内容是什么?
史蒂夫·沃恩

5
@Sendai记得添加两个连字符以从npm参数到jest参数之间进行转义,如下所示:npm test -- --verbose。(否则,--verbose参数转到npm,则您看到的是详细npm输出而不是详细jest输出。)
mindplay.dk

12

请注意,

jest --verbose

您还可以设置verbosetruejest.config.js

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

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

7

我在使用create-react-app(使用笑话和酶)时遇到了相同的问题,但是在将testpackage.json中的现有脚本附加到之后,能够显示测试--verbose=true。现在看来"test": "react-scripts test --env=jsdom --verbose=true"


1

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

注意:使用npm run测试说明对我也没有反映。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.