You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何阻止testthat::test_that()条目杂乱显示在RStudio文档大纲面板?

解决RStudio大纲面板被test_that测试条目干扰的问题

方法一:单个代码块隐藏大纲条目

给包含test_that()的R代码块添加Quarto专属的代码块选项#| outline: false,该块内的所有测试定义将不会出现在大纲面板中,且完全不影响测试运行:

#| outline: false
test_that("x equals 2", {
  expect_equal(x, 2)
})

test_that("x is numeric", {
  expect_type(x, "double")
})

方法二:全局统一配置

如果文档内有大量测试代码块,可通过YAML元数据全局设置,避免逐个修改代码块:

全局禁用所有代码块的大纲条目

---
title: "你的文档标题"
format:
  html:
    code-block-defaults:
      outline: false
---

仅针对测试块禁用

先给所有测试代码块添加标签#| label: test-block,再在YAML中配置:

---
title: "你的文档标题"
format:
  html:
    code-block-defaults:
      outline: true
    code-block-options:
      test-block:
        outline: false
---

方法三:封装test_that函数屏蔽识别

如果不想依赖Quarto选项,可自行封装一个函数替代test_that(),让RStudio不会将测试识别为函数定义:

test_that_silent <- function(desc, code) {
  test_that(desc, code)
}

之后用test_that_silent()编写测试即可,测试功能不受任何影响,大纲面板也不会显示测试名称。

内容的提问来源于stack exchange,提问作者Brad Cannell

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 11:12:42