有沒有辦法強制設計器引擎從一個給定的可設計的WinForms控件的單元測試運行(即,一個自動生成的designer.cs文件)?自動捕獲任何會阻止Visual Studio設計器視圖爲控件打開的錯誤會很好。有沒有辦法自動測試winforms中是否有任何設計器錯誤?
謝謝。
有沒有辦法強制設計器引擎從一個給定的可設計的WinForms控件的單元測試運行(即,一個自動生成的designer.cs文件)?自動捕獲任何會阻止Visual Studio設計器視圖爲控件打開的錯誤會很好。有沒有辦法自動測試winforms中是否有任何設計器錯誤?
謝謝。
本質上,設計師在您的Form
上打電話InitializeComponent
來顯示它。可能有一些差異,但沒有太大意義。
因爲InitializeComponent
默認是私有的,相當於是創建一個新的Form
,作爲默認的構造函數調用InitializeComponent
。
所以只是做
new Form1();
足以保證InitializeComponent
不會引發任何異常。
這不是我正在尋找的。很多時候,設計者不會加載控件,但是在調試模式下,我的程序中的控件工作得很好(這意味着InitializeComponent()代碼工作正常)。 –
我需要從我的測試中運行的代碼是設計人員用於反射檢查InitializeComponent()代碼(以及可能碰巧看到的代碼的其他部分)以獲取構建它所需的信息的代碼該控制的設計者環境。 –
我懷疑你有權訪問該代碼,因爲它是Visual Studio的一部分。我還應該提到,我認爲如果你在'InitializeComponent'中添加一個消息框,它會被設計者顯示出來,這意味着它被調用,而不是被檢查。 –
你是什麼意思的「設計師錯誤」? –
什麼會導致設計師錯誤屏幕上來 –
我明白這個問題很好,但我不知道答案。他可能會動態地創建一個WinForm文件,並且要確保FormName.Designer.vb文件中沒有錯誤。 – HardCode