【问题标题】:Unit testing without testthat没有测试的单元测试
【发布时间】:2020-09-10 10:28:22
【问题描述】:

有一件事让我很疑惑。我读过一些关于单元测试的东西,我读到的所有内容都与 testthat (为单元测试创​​建的包)密切相关。但可以肯定的是,R 中还有其他方法可以在不使用 testthat 包的情况下进行单元测试。那么为什么他们在这样的水平上不受欢迎,甚至很难找到关于它的文章呢?压倒单元测试市场的testthat包的主要优势是什么?

【问题讨论】:

  • R. Hadley 中有other packages 用于单元测试,RStudio 只是有营销优势。

标签: r unit-testing


【解决方案1】:

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

人们使用 Hadley 和 RStudio 团队的软件包的主要原因是它们易于使用、编写良好且受支持,其中许多似乎内置于 RStudio 桌面,这是目前最流行的 R IDE .此外,正如@Roland 所说,他们具有营销优势。不利的一面是,它们几乎总是拖入大量依赖项。快速浏览CRAN page for testthat 会显示不少于 12 个必需的包(“Imports”)。如果您使用持续集成,您会发现这开始有点麻烦,并且每次都必须等待容器操作系统安装它们。有时你可以缓存这些,但我离题了。 RStudio 团队的包也可能比许多其他 R 包更容易发生变化。

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

【讨论】:

    猜你喜欢
    • 2012-08-17
    • 1970-01-01
    • 2020-09-05
    • 2019-01-04
    • 2021-07-23
    • 1970-01-01
    • 2015-02-23
    • 1970-01-01
    • 2021-08-23
    相关资源
    最近更新 更多