0
我需要測試某些方法在Internet連接斷開時是否仍可正常運行。如何暫時禁用JVM網絡連接
這個測試可以運行在Linux,Windows甚至是虛擬機上的Jenkins上,所以我認爲特定於操作系統的解決方案並不是最好的方法。我也認爲改變安全策略文件並不理想。
理想的執行流程是這樣的:
disableNetwork()
testMethod()
enableNetwork()
我需要測試某些方法在Internet連接斷開時是否仍可正常運行。如何暫時禁用JVM網絡連接
這個測試可以運行在Linux,Windows甚至是虛擬機上的Jenkins上,所以我認爲特定於操作系統的解決方案並不是最好的方法。我也認爲改變安全策略文件並不理想。
理想的執行流程是這樣的:
disableNetwork()
testMethod()
enableNetwork()
,因爲它在其他的答案被說在這裏,有這樣做的任何Java本機方法。因此需要一個OS解決方案。這是我爲Linux所做的:
public void pullTheCable() {
Runtime.getRuntime().exec("sudo ifconfig eth0 down");
}
這將禁用網絡適配器。 (用相應的適配器替換'eth0')。而這將再次把它:
public void pushTheCable() {
Runtime.getRuntime().exec("sudo ifconfig eth0 up");
}
您還需要編輯文件/ etc/sudoers中給予的權限給用戶內部消除詢問口令執行sudo命令。更多關於這裏:
how do you make sudo save the password?
只要我有一個Windows的解決方案,我會更新這個答案。
沒有'JVM網絡連接'來禁用。拉電纜。 – EJP
pullTheCable()? – MarcioB
對不起,我想我的問題已經很清楚了。 – MarcioB