0
我正在構建一個R軟件包RE
,我想打包一個獨立腳本並將其放在RE/exec/wrapper.R中。我已經爲測試編寫了一個測試函數,它在使用devtools::test("RE")
從命令行運行時工作得很好,但在使用devtools::check("RE")
運行時失敗。如何使用testthat測試作爲軟件包一部分的獨立R腳本
相關的代碼部分:
cmd <- "Rscript \"C:\\RE\\exec\\wrapper.R\" base print \"{\\\"x\\\": 2}\""
rv <- system(cmd, intern = FALSE, ignore.stderr = FALSE, show.output.on.console = FALSE)
當爲「測試」部分運行一切都正常運行和system
回報0
,因爲它應該。當作爲「檢查」的一部分運行時,system
會給出下面給出的錯誤消息並返回1
。
Error in file(filename, "r", encoding = encoding) : cannot open the connection
Calls: local ... eval.parent -> eval -> eval -> eval -> eval -> source -> file
In addition: Warning message:
In file(filename, "r", encoding = encoding) : cannot open file 'startup.Rs': No such file or directory
Execution halted
我:
- 選中該文件存在(它在這兩種情況下)
- 試過
tryCatch
。沒有錯誤被發現,並system
剛剛返回1
這讓我覺得,這是system
和R CMD CHECK
的問題。