Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 没有测试的单元测试_R_Unit Testing - Fatal编程技术网

R 没有测试的单元测试

R 没有测试的单元测试,r,unit-testing,R,Unit Testing,有一件事让我感到困惑。我读过一些关于单元测试的书,我读到的所有内容都与testthat(为单元测试创建的包)有着重要的联系。但可以肯定的是,在R中还有其他方法可以在不使用testthat包的情况下进行单元测试。那么,为什么它们不受欢迎,以至于很难找到关于它的文章呢?测试软件包的主要优势是什么?它压倒了单元测试市场。不久前,我的想法和你一样。我最终在R中偶然发现了单元测试 人们使用Hadley和RStudio团队提供的软件包的主要原因是,这些软件包易于使用,编写和支持都很好,而且许多软件包似乎都内

有一件事让我感到困惑。我读过一些关于单元测试的书,我读到的所有内容都与testthat(为单元测试创建的包)有着重要的联系。但可以肯定的是,在R中还有其他方法可以在不使用testthat包的情况下进行单元测试。那么,为什么它们不受欢迎,以至于很难找到关于它的文章呢?测试软件包的主要优势是什么?它压倒了单元测试市场。

不久前,我的想法和你一样。我最终在R中偶然发现了单元测试

人们使用Hadley和RStudio团队提供的软件包的主要原因是,这些软件包易于使用,编写和支持都很好,而且许多软件包似乎都内置在RStudio desktop中,而RStudio desktop是最流行的R IDE。此外,正如@Roland所说,他们拥有营销优势。不利的一面是,它们几乎总是拖累大量依赖项。快速查看一下,不少于12个必需的包(“导入”)。您会发现,如果您使用持续集成,并且每次都必须等待容器操作系统安装它们,那么这将开始变得有点糟糕。有时你可以缓存这些,但我离题了。RStudio团队的软件包也可能比许多其他R软件包更容易发生更改

遗憾的是,由于testthat如此流行,您将很难找到任何其他单元测试包的指南和教程。我刚刚将我的一个包从testthat切换到一个名为(在第一个链接中提到)的包。我极力推荐。它只将两个包作为依赖项引入,这两个包都存在于R的核心包中。它的测试函数比testthat少一些,但是如果您可以对某些内容进行逻辑评估,那么
expect\u true()
可以填补这些空白。tinytest也有很好的文档。

R.Hadley和RStudio中有很多用于单元测试的文档。它们正好具有市场优势。