2012-12-17 85 views
5

我有一個delphi應用程序,它依賴SQLite3,一個數據庫引擎,它被廣告爲防崩。測試自動化:如何模擬電源故障/機器故障?

到目前爲止,我能夠使我的整個應用程序防撞,但現在我需要模擬殘酷的機器重新啓動/電源故障。

很顯然,這會瘋狂/不現實的殘酷重新啓動我的機器100次/每天只是爲了進行這項測試,所以......

我不知道是否有使用VirtualBox模擬斷電的方式(或東西相似)以編程方式/以自動方式

任何其他方法/思想都會比歡迎,我的目標是確保我的用戶的數據永遠不會損壞。

PS。這個問題是Windows XP或更高

+2

寫作防止崩潰的應用程序是一項艱鉅的任務;)要解決您的問題,請執行以下操作: 是的,自動化關閉虛擬機非常容易 - 例如根據文檔將參數傳遞給虛擬機控制器。 對於將作爲VBoxManage controlvm動詞的VirtualBox,如下所述:http://www.virtualbox.org/manual/ch08.html – Anthill

回答

7

虛擬箱主機上運行這應該做的伎倆

VBoxManage controlvm(虛擬機名稱)復位/關機

VBoxManage controlvm(虛擬機名稱)復位具有相同可以在虛擬機上按下「重置」按鈕:虛擬機重新啓動虛擬機 ,虛擬機將立即重新啓動並重新啓動guest虛擬機 。事先未保存虛擬機狀態 ,數據可能丟失。 (在GUI的「機牀」菜單這相當於選擇 「復位」的項目。)

VBoxManage controlvm(虛擬機名稱)關機具有與拉電源電纜上的實際的虛擬 機上相同的效果電腦。此外,虛擬機的 狀態未事先保存,數據可能會丟失。 (這 相當於對話框中 GUI的「機器」菜單中選擇「關閉」項或按窗口的關閉按鈕,然後選擇 「電源關閉機器」。)