有没有办法递归地进行 testthat 搜索?
Is there a way to make testthat search recursively?
当我的 R 包目录结构在测试文件夹中直接包含 R 文件时
.
+--Projroot
+---- R
| -- routine1.R
| -- routine2.R
+---- tests
-- test_routine1.R
-- test_routine2.R
testthat
捕获 test_*.R
文件,但是当测试本身依赖于大量文件时,拥有测试子目录会更干净
.
+--Projroot
+---- R
| -- routine1.R
| -- routine2.R
+---- tests
|
+---- test_routine1
| -- test_routine1.R
| -- help_file11
| -- help_file12
+---- test_routine2
-- test_routine2.R
-- help_file21
-- help_file22
只是 运行 devtools::test()
没有捕获内部目录中的 test_*.R
文件。
有没有办法使 testthat
递归搜索?
devtools::test()
呼叫 testthat::test_dir
。
testthat::test_dir
查找要用 testthat:::find_test_scripts
测试的文件。并且此函数不会递归地查看文件夹内部,因此本机不,testthat
将无法在内部目录中进行测试。
不过,您仍然可以 运行 通过这种方式进行测试:
my_test <- list.files(path = "tests", pattern = "test_|help_", recursive = TRUE, full.names = TRUE)
lapply(my_test, test_file)
当我的 R 包目录结构在测试文件夹中直接包含 R 文件时
.
+--Projroot
+---- R
| -- routine1.R
| -- routine2.R
+---- tests
-- test_routine1.R
-- test_routine2.R
testthat
捕获 test_*.R
文件,但是当测试本身依赖于大量文件时,拥有测试子目录会更干净
.
+--Projroot
+---- R
| -- routine1.R
| -- routine2.R
+---- tests
|
+---- test_routine1
| -- test_routine1.R
| -- help_file11
| -- help_file12
+---- test_routine2
-- test_routine2.R
-- help_file21
-- help_file22
只是 运行 devtools::test()
没有捕获内部目录中的 test_*.R
文件。
有没有办法使 testthat
递归搜索?
devtools::test()
呼叫 testthat::test_dir
。
testthat::test_dir
查找要用 testthat:::find_test_scripts
测试的文件。并且此函数不会递归地查看文件夹内部,因此本机不,testthat
将无法在内部目录中进行测试。
不过,您仍然可以 运行 通过这种方式进行测试:
my_test <- list.files(path = "tests", pattern = "test_|help_", recursive = TRUE, full.names = TRUE)
lapply(my_test, test_file)