如何阻止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
相关产品推荐
相关产品推荐

