簡體   English   中英

使用不帶包的testthat運行單元測試

[英]Run unit tests with testthat without package

我有一個閃亮的應用程序,使用4個功能。 我想測試這些功能,但它不是一個包。 我該如何構建我的代碼? 並在沒有devtools的情況下執行這些測試?

您可以使用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目錄中。

您的測試腳本將具有與相同的結構,但您將使用source()替換library()調用,引用定義函數的文件。

如果沒有包結構的函數很少,最好手動編寫單個測試文件(所以使用一些簡單的if /錯誤捕獲系統),用Rscript test_file1.R調用。

如果您開始使用包格式(這​​對於進一步'安全'開發是可取的)並且您仍然不想使用testthat ,我建議您關注此博客帖子: 這里

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM