一个 Drake 工作流可以在其 R 目录中存储多个自定义函数。为自定义函数开发单元测试是有意义的。有完善的工具和结构可用于在 RStudio(或从命令行)中对 R 包进行单元测试的运行测试。
- 但是,在 drake 工作流程中为自定义函数开发和运行单元测试的最佳实践是什么?
任何指向资源或示例的指针将不胜感激。谢谢!
一个 Drake 工作流可以在其 R 目录中存储多个自定义函数。为自定义函数开发单元测试是有意义的。有完善的工具和结构可用于在 RStudio(或从命令行)中对 R 包进行单元测试的运行测试。
任何指向资源或示例的指针将不胜感激。谢谢!
drake
进入图片时,单元测试的最佳实践并没有太大变化。以下是主要考虑因素。
drake
,您可能会在整个管道中处理令人讨厌的长运行时。因此,一项挑战是构建不会永远持续的测试。我建议在小型数据集、少量迭代或任何可以在合理时间内完成测试的方法上调用您的函数。您可以通过这种方式运行许多基本检查。要更彻底地验证来自您的函数的答案,您可以对drake
管道的结果运行一组额外的检查。testthat
,您可能会将您的函数安排在类似包的结构中,甚至是一个成熟的包,您甚至可能正在使用devtools::load_all()
或加载您的函数library(yourPackage)
。如果您以这种方式加载函数而不是单独获取函数脚本,请务必在调用expose_imports()
之前调用,make()
以便drake
分析函数的依赖关系。