【发布时间】:2013-11-05 23:37:45
【问题描述】:
我正在学习使用 R 进行我的第一次单元测试,并且我在 R Markdown 文件中编写我的代码,以便轻松提交简短的研究报告。同时,我想测试我在这些文件中使用的函数,以确保结果是合理的。
这里的问题是:R Markdown 文件是为了进入 HTML 编织器,而不是 RUnit 测试工具。如果我想将一个函数加载到测试代码中,我有几个选择:
- 从 Markdown 文件中复制粘贴代码块,从而将 Markdown 文档中的代码与测试代码解耦
- 把我的测试代码放在 Markdown 文件里面,导致报告难以理解(或许最后还能忍受)
- 编写代码,先对其进行测试,然后将其作为库包含在 Markdown 代码中,从而消除了将代码包含在报告正文中的信息特征
有没有更明智的方法来避免这些方法的缺点?
【问题讨论】:
-
看看 knitr 的一些更高级的用法。
purl将处理第 (1) 点,您可以使用 code externalization 处理 (2) 和 (3)。 -
我认为你可以使用 testthat cran.r-project.org/web/packages/testthat/index.html
-
您还可以使用测试结果自动生成 Markdown/HTML 文件。
标签: r unit-testing literate-programming