我在我的 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 测试时输出的外观)。
来自Jest's command-line options docs
--verbose 显示带有测试套件层次结构的单个测试结果。
所以跑步
jest --verbose
将打印 describe
、it
、test
块中的所有名称。
如果您使用 yarn
运行测试,您可以这样做
yarn test --verbose
如果您使用 npm
运行测试,您可以执行
npm test -- --verbose
如果您想将此设为默认值,请在 package.json
中更改您的测试脚本
"test": "react-scripts test --env=jsdom --verbose",
现在 yarn test
和 npm test
都应该显示所有测试名称。
请注意,而不是
jest --verbose
您还可以在 jest.config.js
中将 verbose
设置为 true
:
// jest.config.js
module.exports = {
...
verbose: true,
}
--verbose
标志听起来可能会满足您的需求。根据 docs,它显示单个测试结果。
npm
参数转义到 jest
参数 - 就像这样:npm test -- --verbose
。 (否则,--verbose
参数转到 npm
,您将看到详细的 npm
输出而不是详细的 jest
输出。)
我在使用 create-react-app 时遇到了同样的问题(同时使用 jest 和酶),但是在 package.json 中的现有 test
脚本与 --verbose=true
附加后能够显示测试。所以它现在显示为 "test": "react-scripts test --env=jsdom --verbose=true"
在 package.json("test": "react-scripts test --env=jsdom --verbose"
,) 中进行此配置后,尝试通过 npm test
运行您的测试。
注意:使用 npm run test 描述也没有反映给我。
npm run test:unit
时,将其添加到jest.config.js
是唯一的方法