[英]Creating short examples for CRAN package
我正在構建一個我希望上傳到CRAN的軟件包。 我在幫助文檔中包含的示例目前需要一些時間來檢查(總共約12分鍾),並且我知道在嘗試加載CRAN時這可能是一個問題。 雖然我可以讓我的示例運行得更快,但我擔心這會使用戶對閱讀幫助文件的意義降低。 有沒有辦法包含一些快速(但不太有意義)的示例,這些示例將由CRAN檢查但在幫助文檔中對用戶不可見?
我正在使用devtools和roxygen2來編寫我的文檔,所以如果可能的話,使用這些工具獲得答案會很棒。
謝謝你的幫助。
聽起來你想做一些單元測試,這在使用更復雜的軟件包時是一個非常好的主意。 查看testthat
包( 文章 , 來源 )。
確保正確操作包但與最終用戶無關的簡短純技術示例將進入單獨的文件夾myPackage/tests
。 這些將在每次構建程序包時自動運行,但不會包含在文檔文件中。
建議的解決方案是創建一個名為myPackage/tests/run-all.R
:
library(testthat)
library(myPackage)
test_package("myPackage")
然后將所有測試代碼放在myPackage/tests/testthat
,例如myPackage/tests/testthat/foo.R
:
context("Basic operation")
test_that("Default execution", {
a <- 4
b <- 34
expect_equal(myFunction(a, b), a + b)
})
將測試放在myPackage/tests/testthat
而不是直接放在myPackage/tests
是myPackage/tests/testthat
將包含在最終包中(盡管在不同的文件夾中),允許用戶也運行測試。 myPackage/tests
不會被復制到最終包中。
請參閱手冊 ,第2.1.1節, example
小節。 您可以將更重的示例包含在\\dontrun
並且不會檢查它們。
如果唯一的問題是CRAN加載,則應使用\\donttest{}
命令阻止在CRAN上運行示例。 請注意,當用戶鍵入example(xx)
時,示例仍將運行
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.