是否有一個簡單的工作流程來編寫將對象存儲爲.rds或.rda的測試,以便將來的測試運行可以比較代碼執行結果與存儲對象的結果?這樣可以很容易地檢查返回有些複雜值的函數是否仍然像他們應該那樣工作。對存儲的R對象進行測試
例如,像:
test_obj(res <- lm(y ~ x, data.frame(x=1:3, y=5:7)))
,如果*擴展數據/ test_obj.res.rds *不存在,將在*安裝/擴展數據/ test_obj.res.rds創建*與res
從上面,但如果它確實存在,將與rds中恢復的那個相同/ all.equal等新生成的對象。我會發現這樣的測試超級有用,我有點驚訝,RUnit/svUnit/testthat沒有實現這種類型的東西(我希望他們這樣做,我只是沒有找到它)。
testthat::make_expectation
已關閉,但我寧願有一個自動存儲/檢索rds而不是將文本表示粘貼到文件中,我認爲這是您應該如何使用testthat::make_expectation
(我想我可以管stdout()轉換爲.R文件,但即使如此,仍有一些自動化可以促進該過程)。
這是(關閉)拉請求,https://github.com/hadley/testthat/pull/38/files,你在找什麼? – hadley
是的,大致。你認爲它超出了測試範圍? – BrodieG
很多移動的部分,而不是顯而易見的緩存策略應該如何工作。 – hadley