> For AI agents: the complete documentation index is available at /zh/llms.txt, the full documentation bundle is available at /zh/llms-full.txt.

# silent


[Added in v0.10.0](https://github.com/web-infra-dev/rstest/releases/tag/v0.10.0)

- **类型：** `boolean | 'passed-only'`
- **默认值：** `false`
- **CLI：** `--silent [value]`

控制是否静默测试中的 console 日志输出。

- 设为 `true` 时，隐藏所有被拦截的测试 console 日志。
- 设为 `'passed-only'` 时，仅保留失败文件、套件和测试用例的被拦截日志。


**CLI**

```bash
npx rstest --silent=passed-only
```


**rstest.config.ts**

```ts
import { defineConfig } from '@rstest/core';

export default defineConfig({
  silent: 'passed-only',
});
```


## 示例

当 `silent` 设置为 `'passed-only'` 时，通过 console 打印的日志会先被缓存；通过任务的日志会被丢弃，失败任务的日志会在失败输出附近回放。

```ts title="example.test.ts"
import { describe, expect, it } from '@rstest/core';

describe('math', () => {
  it('passes', () => {
    console.log('pass log');
    expect(1 + 1).toBe(2);
  });

  it('fails', () => {
    console.log('fail log');
    expect(1 + 1).toBe(3);
  });
});
```

最终只会打印 `fail log`。

:::note
Rstest 会尽力将日志归属到具体测试上，但在 browser mode 的并发异步测试场景中，日志归属可能不会完全准确。

在 browser mode 下，这条拦截链路仍然会调用原始的 `console.*`，以便日志继续出现在 DevTools 中。因此，`silent` 控制的是 Rstest / reporter 的输出，不一定会把浏览器原生控制台中的日志也一起隐藏。

在 `silent: 'passed-only'` 下，从失败任务回放的日志仍会经过 [onConsoleLog](/zh/config/test/on-console-log.md)，因此返回 `false` 的过滤器同样会把这些回放日志丢弃。

当 `disableConsoleIntercept` 为 `true` 时，`silent` 仍然生效，但回放行为因环境而异。在 Node mode 下，缓存的日志会回放到原始的 stdout/stderr，绕过 [onConsoleLog](/zh/config/test/on-console-log.md) 和 [printConsoleTrace](/zh/config/test/print-console-trace.md)。在 browser mode 下没有 host 侧的原始输出流，因此回放不会转发到终端——这些日志只会保留在浏览器 DevTools 中。
:::
