3
我在本地環境中調用test_file時遇到問題。R:在本地環境中testthat test_file()存在問題
local({ newvar <- 1; expect_equal(newvar, 1); });
工作正常。
local({
newvar <- 1;
test_that('newvar is equal to 1:', { expect_equal(newvar, 1) });
});
工作正常。
local({ newvar <- 1; test_file('simple.test.R'); });
錯誤:對象 'newvar' 未找到
simple.test.R的內容只不過是:
context('local env test');
test_that('local env test', { expect_equal(newvar, 1) })
幫助讚賞!謝謝。
編輯:
我試圖做的是閱讀從shinyAce(https://github.com/trestletech/shinyAce)一些代碼,並檢查它是有效的(METS一些規定的要求)。我使用的是'local()',因此在shinyAce塊中定義的任何分配的變量都不會保留在環境中。
謝謝。我會更新我的Q,我正在嘗試做什麼。 – hardingnj
因此'newvar'在測試運行中發生變化?在'simple_test.R'中,你可以創建一個函數,它接受'newvar'參數,然後把所有的測試邏輯放在那裏。如果你真的想,你也可以定義自己的'test_file'版本來評估其他環境中的源文件。這些中的一個會起作用嗎? – Peyton
我認爲編寫我自己的test_file版本是最好的解決方案。謝謝你的幫助。 – hardingnj