2011-10-07 5 views
1

WP7 (C#) 응용 프로그램에 MVVM 모델을 사용하고 있지 않습니다. 이제 button_click 내부의 코드가 실행되도록 유닛 테스트 코드에서 button2_click 함수를 테스트하고 싶습니다. 이 작업을 수행 할 가능성이 있는지 알려주십시오.단위 테스트 button_Click WP7 Silverlight 응용 프로그램

private void button_Click(object sender, RoutedEventArgs e) 
{ 
     // Some code 
} 

샘플 코드가 도움이 될 수 있습니다.

감사합니다, 일반적으로 무구

답변

2

는 UI 코드는 관계없이 MVVM을 사용 여부와의 단위 테스트를위한 좋은 대상이 아닙니다. 테스트에서 버튼을 직접 호출하여 버튼 클릭 핸들러를 단위 테스트 할 수 있습니다. 핸들러가 sender을 사용 중이고 실제 버튼이 될 것으로 예상되면 최선의 방법을 찾아야합니다. 아무도 코드를 보지 않고도 그 점에 답할 수 있습니다.

여기서 MVVM은 코드를 뷰 모델로 옮기고 ICommand을 반환하는 속성을 통해 노출 한 다음 버튼의 Command 속성에 바인딩 할 수있게 해줍니다. 이 방법을 사용하면 UI 코드에 포함 된 코드를 캡슐화하고 다른 명령 (예 : 메뉴 옵션)에서 코드를 쉽게 재사용 할 수 있습니다.

0

White과 같은 UI Autmation 프레임 워크를 사용할 것을 제안 할 수는 있지만 그렇지 않습니다.

MVVM, MVP, MVC 등과 같이 잘 설정된 패턴을 사용하여 프리젠 테이션/도메인/모든 논리를 뷰에서 분리하는 것이 좋습니다. 방금 실행 한 문제가 이것이 좋은 생각. 그것 없이는, 당신은 갈 때 더 많은 문제를 겪을 것입니다.

관련 문제