我想为我的同事提供一个额外的提示/激励,为我们开发的软件包中的新功能编写测试。
我不确定这是不是一个好主意,或者是否有更好的方法,但我想知道是否有办法在/tests
和{{{{}}}中使用文件的自动测试1}}鼓励开发人员为新功能编写测试。
例如,如果没有相关测试的包中有任何函数,是否会在检查,构建或测试包时抛出错误?
我认识到这有很多潜在的问题。很难确定测试是否有任何好处,测试一个简单的函数可能是浪费时间。但它仍然可以提醒我们应该编写测试,也许它可以强制执行一两条非常基本的规则。
如果有没有测试的功能,是否有可以编写的测试可以防止编译包?我正在使用R中的testthat
包。
它不需要非常强大,但是按名称排除函数的功能将非常有用。
答案 0 :(得分:3)
听起来你正在寻找“代码覆盖”功能。这里的第一步是找出测试覆盖哪些代码,哪些代码不覆盖。查看the RUnit Vignette的第2.2节,了解如何执行此操作。
您可能最终必须修改inspect
函数才能发出警报或处理此类自定义事件,但我认为它们已经完成了您已尝试执行的大部分操作。