0
我對某事感到困惑。當我把這個功能到一個包在調用devtools :: test()後發現軟件包中的通用調度
oddTranspose <- function(x) {
t(x)
}
它工作正常
m <- matrix(c(1,0,0,0), nrow=2)
M <- as(m, "Matrix")
oddTranspose(m) # works
oddTranspose(M) # works
但後來,當我使用devtools ::試驗(+),它停止工作
devtools::test()
oddTranspose(m) # works
oddTranspose(M)
## t.default(x) : argument is not a matrix
這是因爲我使用以下工作流程測試我的軟件包:
構建軟件包,將一個fi樂叫
package_root \測試\ testthat_tests.R,用身體
require(testthat)
require(myPackage)
test_check('myPackage')
,然後在
package_root \測試\ testthat \ file.R,我把測試
然後我用R測試它們與
library(testthat)
setwd("package_root/tests")
devtools::test()
我該怎麼辦?
請注意,我省去了所有包開銷的文本,但包的NAMESPACE導入了Matrix包並導出了oddTranspose,並且包的描述「依賴於」Matrix。