我正在delftfews
办公室写一个 R 包 ( )。我们svUnit
用于单元测试。
我们描述新功能的过程:我们定义新的单元测试,最初标记为DEACTIVATED
;一次一个测试块,我们激活它们并实现测试描述的功能。几乎所有时候我们都有少量的 DEACTIVATED 测试,相对于可能被删除或将要实现的功能。
我的问题/问题是:如果有 DEACTIVATED 测试, 我是否可以更改doSvUnit.R以便发出注释(即自定义消息“NOTE”而不是“OK”)?R CMD check pkg
截至目前,我们只看到活动测试没有给出错误:
.
.
* checking for unstated dependencies in tests ... OK
* checking tests ...
Running ‘doSvUnit.R’
OK
* checking PDF version of manual ... OK
如果所有测试都成功,那没关系,但如果有跳过的测试,那肯定是错误的,如果有失败的测试,那肯定是错误的。在这种情况下,我实际上希望看到如下注释或警告:
.
.
* checking for unstated dependencies in tests ... OK
* checking tests ...
Running ‘doSvUnit.R’
NOTE
6 test(s) were skipped.
WARNING
1 test(s) are failing.
* checking PDF version of manual ... OK
到现在为止,我们必须打开doSvUnit.Rout
来查看真实的测试结果。
我联系了 r-forge 和 CRAN 的两个维护人员,他们向我指出了R 的来源,尤其是testing.R
脚本。
如果我理解正确,要回答这个问题,我们需要修补tools
软件包:
- 使用
system
调用调用测试目录中的脚本, - 输出(stdout 和 stderr)转到一个文件,
- 有两种可能的结果:ok or not ok ,
所以我在 R 上打开了一个更改请求,建议对返回状态进行位编码,位 0 表示错误(就像现在一样),位 1 表示警告,位 2 表示注意。
通过我的修改,很容易产生这个输出:
.
.
* checking for unstated dependencies in tests ... OK
* checking tests ...
Running ‘doSvUnit.R’
NOTE - please check doSvUnit.Rout.
WARNING - please check doSvUnit.Rout.
* checking PDF version of manual ... OK
Brian Ripley 回答说:“然而,有几个包含正确编写的单元测试的包可以根据需要发出信号。请在其他地方进行此讨论:R-bugs 不是提问的地方。” 并关闭了更改请求。
有人有提示吗?