2017-08-09 229 views
1

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

+0

爲什麼沒有'devtools'? – drmariod

+0

@drmariod:我不能在我的R項目中使用它,不知道爲什麼以及如何在不創建包的情況下配置它。 –

回答

0

如果沒有封裝結構的情況下功能很少,最好手動編寫單個測試文件(所以使用一些簡單的if/error捕獲系統),您可以使用Rscript test_file1.R進行調用。

如果你開始使用的封裝格式,而不是(這將是可取的進一步「安全」的發展),你還是不希望使用testthat,我建議你遵循這個博客帖子:here

1

你可以使用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,但是您應該用source()替換library()調用,並引用定義函數的文件。

相關問題