[英]Run a code snippet before and after tests with testthat
我有一組R函數,它們是從Ruby應用程序調用的,並希望對其進行測試。 R函數從Postgres數據庫訪問數據,因此要編寫測試,我需要用一些示例數據填充測試數據庫。
我想避免在每個測試用例中清理數據庫。 如果我可以在每次測試之前啟動事務並在之后進行回滾,那將是很好的。
該頁面“編寫測試”部分的最后一段http://r-pkgs.had.co.nz/tests.html使我認為不可能在每個測試用例之前都執行代碼塊。
有誰知道有創意的工作環境嗎? 我正在考慮分叉該項目並添加功能,但想確保我沒有重新發明輪子。
對於那些偶然發現此問題的人,我最終為test_that()創建了一個包裝函數,該函數在從postgres獲取數據時使用。 下面是我的解決方案:
db.test_that <- function(description, test_code) {
dbGetQuery(database_connection, 'BEGIN TRANSACTION')
test_that(description, test_code)
dbRollback(database_connection)
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.