3

我想为我的同事提供额外的提醒/激励,让他们为他们为我开发的包做出贡献的新功能编写测试。

我不确定这是否是一个好主意,或者是否有更好的方法,但我想知道是否有办法使用文件的自动化测试/tests/inst/tests鼓励开发人员为新功能编写测试。

例如,如果包中有没有相关测试的函数,是否有一个测试会在检查、构建或测试包时抛出错误?

我承认这有很多潜在的问题。很难确定测试是否有任何好处,而且测试一个微不足道的函数可能是浪费时间。但它仍然可以提醒人们应该编写测试,也许它可以强制执行一两个非常基本的规则。

如果有一个没有测试的函数,我是否可以编写一个测试来阻止包编译?我正在使用testthatR 中的包。

它不需要非常健壮,但按名称排除函数的能力会很有用。

4

1 回答 1

3

听起来您正在寻找“代码覆盖率”功能。这里的第一步是弄清楚哪些代码被测试覆盖,哪些没有。查看RUnit Vignette的第 2.2 节以获取有关如何执行此操作的信息。

您可能最终不得不修改该inspect函数以引发警报或处理这样的自定义事件,但我认为它们已经实现了您尝试执行的大部分操作。

于 2012-07-20T03:07:29.560 回答