我有一个使用4个功能的闪亮应用程序。我想测试这些功能,但它不是一个包。我该如何构建我的代码?并在没有devtools的情况下执行这些测试?
答案 0 :(得分:10)
您可以使用testthat::test_dir()
或testthat::test_file()
执行测试。既不依赖于包中的代码,也不依赖于devtools,而只依赖testthat包。
关于如何构建代码的要求很少。
如果是我,我会创建一个tests
目录并在那里添加我的测试脚本,看起来像这样:
|- my_shiny_app
| |- app.R
| |- tests
| |- test_foo.R
| |- test_bar.R
然后,您可以使用test_dir('tests')
运行测试,假设您在my_shiny_app
目录中。
您的测试脚本会有相同的structure they have for packages,但您可以使用library()
来代替source()
来代替您定义函数的文件。
答案 1 :(得分:0)
如果没有包结构的函数很少,最好手动编写单个测试文件(因此使用一些简单的if /错误捕获系统),并使用Rscript test_file1.R
调用。
如果您开始使用包格式(这对于进一步'安全'开发是可取的)并且您仍然不想使用testthat
,我建议您关注此博客帖子:{{3 }}