這是我的示例代碼如何在Groovy中模擬另一個對象內實例化的對象?
class CommandLine {
def ls() {
def cmd = "ls".execute()
if(cmd.waitFor() != 0) {
throw new Execution()
}
return cmd.text
}
}
的cmd
變量保存型java.lang.Process中的一個對象。我如何剔除waitFor()
方法來測試拋出的異常?如果我不能,有什麼方法可以重寫這個方法來促進自動化測試?
一般來說,你如何模擬在另一個類中實例化的對象,或者如何構造代碼以允許測試?
那麼,常見的技術是模擬'execute'函數返回嘲弄'java.lang.Process'而不是常規的。 – bezmax