我有一個用戶控件,它具有單擊事件處理程序包含核心邏輯的按鈕。我想測試這個按鈕點擊處理程序。 該處理程序函數調用另一個用戶控件(駐留在單獨的C#項目中)的公共函數,該函數最終調用引用程序集的公共函數。 任何人都可以請告訴我 - 如何將這種處理程序的單元測試?如何單元測試(用C#)單擊按鈕?
2
A
回答
3
您可以編寫一個方法,以編程方式引發Click事件並從單元測試中調用該事件。
編輯:嗯,這實際上已經存在:http://msdn.microsoft.com/en-us/library/hkkb40tf(VS.90).aspx
3
在單元測試中,我們測試的設備 - 在這種情況下,用戶的控制。沒有別的了。但我們不應該允許用戶控制訪問外部世界,我們應該使用嘲諷技術。 在例子中,如果您的通話UserControlA UserControlB,創建UserControlB接口和一個模擬UserControlB替換:
class UserControlA {
UserControlBInterface BReference;
public void setBReference(UserControlBInterface reference) { this.BReference = reference };
void OnClick (...) { BReference.callAMethod(); }
}
class MockupForB : UserControlBInterface {
boolean called=false;
public void callAMethod() { this.called = true; }
}
class TesterA : UnitTest {
public void testOnClick()
{ UserControlA a = new UserControlA(); MockupForB mockup = new MockupForB(); a.setBReference(mockup);
a.Button1.PerformClick(...); //following Aaronontheweb's advice
assertTrue(mockup.called,"the method callAMethod not being called by UserControlA");
}
}
並確保UserControlB確實調用一個參考圖書館,這屬於對UserControlB單元測試。
相關問題
- 1. 如何模擬Android中單擊測試的單擊按鈕
- 2. 如何從qtablewidget中檢測單元格中單擊的按鈕
- 3. C#按鈕單擊
- 4. 單擊tableviewcell上的按鈕單擊單元格不按鈕
- 5. Visual C++檢測右鍵單擊按鈕
- 6. 如何在Android測試用例中使用jUnit測試按鈕單擊事件
- 7. 單元測試表單c#
- 8. C#單元測試
- 9. C#單元測試
- 10. C#單元測試
- 11. 單元測試(C#)
- 12. 檢測Ctrl +單擊按鈕,然後單擊按鈕
- 13. 如何使用jmockit做單元測試單元測試
- 14. Android:單元測試:如何使用SensorManager創建單元測試?
- 15. 如何爲Apache Wicket的單選按鈕測試AjaxEventBehavior(「點擊」)?
- 16. Angular2-單選按鈕測試
- 17. JavaScript,測試單選按鈕
- 18. PHP單選按鈕測試
- 19. ASP.net C#按鈕單擊
- 20. 單擊按鈕Appium C#
- 21. DataGridView按鈕單擊(C#)
- 22. ui測試xcode,如何點擊表格查看單元格按鈕與cellquery
- 23. 單擊按鈕後,如何啓用/激活單選按鈕?
- 24. 如何使用C#單擊表單加載按鈕#
- 25. 如何單元測試BackgroundWorker C#
- 26. C#如何在單元測試
- 27. 定製單元上的檢測按鈕單擊事件
- 28. C#單選按鈕測驗
- 29. 使用UIAlertView檢測按鈕單擊
- 30. 單擊按鈕