-2
在我的Java Web Spring應用程序中,我必須調用外部程序。這些不是一些REST API調用,而是文件系統上的一些系統二進制文件。如何在JUnit中模擬外部程序調用
我該如何有效地測試/模擬這些調用?
感謝
在我的Java Web Spring應用程序中,我必須調用外部程序。這些不是一些REST API調用,而是文件系統上的一些系統二進制文件。如何在JUnit中模擬外部程序調用
我該如何有效地測試/模擬這些調用?
感謝
你必須考慮在抽象。
例如:你可以創建類似
interface BinaryRunner {
void runBinary(String command, String... args);
}
class BinaryRunnerImpl implements BinaryRunner { ...
(當然,這只是一個例子,我徹底離開我們的錯誤處理路徑)
而你的「生產」代碼使用好吧,運行二進制文件。現在你可以模擬一個BinaryRunner的實例,並將它提供給你的生產代碼。您的產品代碼打出電話;你可以使用模擬來檢查。
最後:當然,測試BinaryRunner的實施可能會有點困難;-)
不清楚 - 我不明白你在問什麼。 –
摘要'class MyExternalBinary'中的調用;然後嘲笑那堂課。 –