0
我使用testthat
軟件包中的test_dir()
函數在R中運行測試。在一些測試腳本中,有一些功能調用readline()
,這些功能在交互模式下會導致測試暫停並等待用戶輸入。調用readline()
的函數不是我自己的,我對它們沒有任何影響。用戶輸入與這些功能的輸出無關。在測試時避免由於readline()造成的暫停
有沒有辦法在測試過程中避免這些暫停?
途徑浮現在腦海中,但我不知道如何來實現:
- 禁用交互模式,而R的運行
- 使用其他功能,從在非運行腳本
testthat
包交互模式 - 莫名其妙地轉移
stdin
比終端別的東西(??) - 保鮮功能在另一個腳本調用
readline()
是在非交互模式稱爲從我的TES並使結果可用
僅從命令行使用Rscript
進行測試是一個選項,但我寧願留在RStudio工作流程中。
======
示例代碼
with_pause <- function() {
readline()
2
}
without_pause <- function() {
2
}
expect_equal(with_pause(), without_pause())
我現在堅持從命令行進行測試。這不是太麻煩,但仍然不是工作流方面的解決方案。 – Niels