gpt4 book ai didi

unit-testing - 在 R 中,有没有办法知道定义给定函数的源文件的路径?

转载 作者:行者123 更新时间:2023-12-04 06:32:46 25 4
gpt4 key购买 nike

我正在用 R 编写一个单元测试,它需要读取在同一目录中定义的一些测试数据。但是,无论当前工作目录是什么,我也希望能够运行该单元测试。

有没有办法告诉R从这里加载文件,这里定义为保存正在执行的函数的源文件的目录?

最佳答案

取决于您对“我正在编写单元测试”的含义。如果您只是从任何地方获取该函数,David 是对的,我什至认为不需要这样做,因为您知道它是哪个目录。

我会将该函数包含在一个包中,然后 R 中有一些机制允许您使数据可用于加载或通过延迟加载。参见手册 Writing R Extensions 中的第 1.1.5 节(包中的数据) .这是做这件事的R方式。

Gabor Grothendieck 给出的另一个选择 this thread在 R 邮件列表中,在脚本顶部添加以下行:

this.dir <- dirname(parent.frame(2)$ofile)

当使用 source() 获取时,这将给出文件的目录. Gabor 称之为肮脏的黑客行为,我同意他的观点。

在旁注中,还要检查以下用于 R 单元测试的包:
  • RUnit
  • svUnit
  • testthat
  • 关于unit-testing - 在 R 中,有没有办法知道定义给定函数的源文件的路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5192693/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com