我正在R包上运行一些测试。我注意到list.files
在控制台中和R CMD check
内部的文件输出顺序是不同的。我怀疑这是由于此处讨论的sort
函数的语言环境依赖性引起的:
R CMD check fails, devtools::test() works fine
我的问题如下:如何消除list.files
中的语言环境依赖性,并使它为交互式会话和R CMD check
运行产生一致的输出?
可复制的示例
在testthat
文件夹中,使用以下空文件创建abc
文件夹:
c-123.txt
c-456.txt
T.db
在交互式会话中,list.files
返回:
[1] "c-123.txt" "c-456.txt" "T.db"
但是,使用R CMD check
运行时以下测试失败,因为T.db
首先出现:
context("ls")
test_that("correct order", {
expect_true(list.files("abc")[1] == "c-123.txt")
})
在控制台中使用devtools::test_file('tests/testthat/test-ls.R')
时,此测试通过。