仅使用一个文件运行Jest(23.5.0)时,它将输出“描述名称”和“测试名称”。我希望Jest在与多个测试文件一起运行时输出“描述名称”和“测试名称”,但这似乎是自动禁止的。
示例:
PASS src/components/UsersTable.test.jsx
UsersTable
✓ is a table (4ms)
✓ has columns 'first', 'last', 'email' (1ms)
Test Suites: 1 passed, 1 total
Tests: 2 passed, 2 total
Snapshots: 0 total
Time: 1.768s, estimated 2s
Ran all test suites.
与两个一起运行时,它禁止显示。示例:
PASS src/components/UsersTableRow.test.jsx
PASS src/components/UsersTable.test.jsx
Test Suites: 2 passed, 2 total
Tests: 4 passed, 4 total
Snapshots: 0 total
Time: 2.254s
Ran all test suites.
部分代码示例:
describe('UsersTable', () => {
const component = renderer.create(
<UsersTable />
);
const usersTable = component.toJSON();
test('is a table', () => {
expect(usersTable.type).toBe('table');
});
从任一文件的名称中删除“测试”,使得一次仅运行两个测试中的一个,将导致成功输出期望的文件名称详细信息。 TLDR:这两个文件都可以单独工作。
答案 0 :(得分:3)
与--verbose
开玩笑。
将package.json测试脚本更改为jest --verbose
。
我尝试了npm run test --verbose
,它影响了输出,但没有包含我希望获得的信息。我错误地认为--verbose
不是解决方案。但是在npm run test --verbose
中,我错误地将详细标志应用于npm进程,而不是开玩笑。
显然,jest
与jest --verbose
相同,如果仅存在一个测试文件,则不存在两个或多个。对于两个或多个,必须显式包括--verbose
。
答案 1 :(得分:0)
您可以使用--verbose
标志(如Geoffrey Hale在他的回答中提到的)运行多个测试。
您可以告诉命令行使用--
将标志传递给玩笑(而不是npm):
npm run test -- --verbose