簡體   English   中英

沒有測試的單元測試

[英]Unit testing without testthat

有一件事讓我感到奇怪。 我讀過一些關於單元測試的內容,我讀到的所有內容都與 testthat(為單元測試創​​建的包)密切相關。 但是可以肯定的是,R 中有其他方法可以在不使用 testthat 包的情況下進行單元測試。 那么為什么它們如此不受歡迎以至於很難找到關於它的文章呢? 壓倒單元測試市場的 testthat 包的主要優勢是什么?

前段時間我和你有同樣的想法。 我最終偶然發現了這篇關於 R 中單元測試的RBloggers 文章

人們使用 Hadley 和 RStudio 團隊提供的軟件包的主要原因是它們易於使用、編寫良好且受支持,而且其中許多似乎內置於 RStudio 桌面,這是最流行的 R IDE。 此外,正如@Roland 所說,他們具有營銷優勢。 不利的一面是,它們幾乎總是拖入大量依賴項。 快速查看測試的CRAN 頁面,顯示不少於 12 個必需的包(“導入”)。 如果您使用持續集成,您會發現這開始有點令人討厭,並且每次都必須等待容器操作系統安裝它們。 有時你可以緩存這些,但我離題了。 RStudio 團隊的包也可能比許多其他 R 包更容易發生變化。

遺憾的是,由於 testthat 如此流行,您將很難找到任何其他單元測試包的指南和教程。 我剛剛將我的一個包從 testthat 切換到一個名為tinytest的包(在第一個鏈接中提到)。 我強烈推薦它。 它只引入兩個包作為依賴項,這兩個包都存在於 R 的核心包中。 它的測試功能比 testthat 少一些,但是如果您可以進行邏輯評估,那么expect_true()可以填補空白。 tinytest 也有很好的文檔。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM