[英]How to test an installed package with testthat?
我想測試一個已安裝的軟件包,但這會返回錯誤。
library(testthat)
test_package("testthat")
# Error: No tests found for testthat
由於system.file("tests", package = package)
為空system.file("tests", package = package)
因此system.file("tests", package = package)
此處的源 )返回此錯誤。 實際上,安裝的軟件包中沒有tests
目錄。
list.dirs(system.file("", package = "testthat"))
# [1] "/home/paul/R/x86_64-pc-linux-gnu-library/3.2/testthat/"
# [2] "/home/paul/R/x86_64-pc-linux-gnu-library/3.2/testthat//help"
# [3] "/home/paul/R/x86_64-pc-linux-gnu-library/3.2/testthat//html"
# [4] "/home/paul/R/x86_64-pc-linux-gnu-library/3.2/testthat//libs"
# [5] "/home/paul/R/x86_64-pc-linux-gnu-library/3.2/testthat//Meta"
# [6] "/home/paul/R/x86_64-pc-linux-gnu-library/3.2/testthat//R"
如何安裝軟件包,使其測試目錄仍然存在?
如果作者選擇不將測試放在inst/
目錄中,那么這些測試包將不會與軟件包一起安裝,並且您無法通過已安裝的軟件包運行測試。
因此,除了修改源程序包並重新安裝之外,您無能為力。 但是到那時,您最好只對源包運行測試。
您可以使用
tools::testInstalledPackage("package")
但是我認為只有在inst /
也有
install.packages("testthat", INSTALL_opts = "--install-tests")
還將測試與軟件包一起安裝。 但是如果test在inst /
因此,最好下載源代碼包並運行:
devtools::test()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.