2009-08-01 4 views
1

XAML 뷰/컨트롤을 테스트하는 데 도움이되는 테스트 프레임 워크를 찾고 있습니다. 올바른 데이터 바인딩을 확인하는 것뿐만 아니라 특히 복잡한 컨트롤의 모양과 동작을 테스트하는 것이 중요합니다. 분명히 이것은 보통 수동 테스트 결과가됩니다. 내가 마음에 무엇을 가지고XAML보기/컨트롤에 대한 GUI 테스트 프레임 워크

은 다음과 같이 보일 것입니다 :

  1. 당신이 사용하는 어떤 단위 테스트 프레임 워크를 사용하여 일반적인 단위 테스트를 작성합니다.
  2. 테스트 데이터가있는 뷰 모델을 모의합니다.
  3. 컨트롤을 생성/지정하고 뷰 모델과 필요한 리소스를 제공하십시오.
  4. (선택 사항) 일련의 수동 어설 션을 정의하십시오.

이 테스트를 실행할 때 제공된 어설 션 (수락 단추가있는 확인란 일 가능성이 높음)과 해당 컨트롤을 제공해야합니다. 컨테이너 또는 추가 윈도우에있을 수 있습니다 (특히 Window 컨트롤을 테스트하는 경우).

컨트롤을 개발할 때 (일부 테스트 데이터를 제공하고 전체 응용 프로그램없이 컨트롤을 확인할 수 있음) 또는 시각적 스타일 및 동작을 확인하기위한 시스템 테스트 부분에 대해서는 매우 유용하다고 생각합니다. 전문 러너가 있으면 어설 션 결과를 집계하고보다 포괄적 인 테스트 보고서를 작성할 수 있어야합니다.

나는 매우 원시적 인 러너를 구현했지만 훨씬 더 좋을 것이라고 생각합니다. 예 시험 (looks like this) :

public void BasicStyle() { 
    var runner = new GuiTestRunner(TestContext); 
    runner.AddResources(new Uri("pack://application:,,,/Assembly;component/Resources/RadialContextMenuResources.xaml")); 

    var contextMenu = ...; 
    runner.Container.ContextMenu = contextMenu; 

    runner.Assert("Shows a radial context menu with 7 entries."); 
    runner.Assert("Each entry has a hover animation."); 
    runner.Assert("Each entry can be clicked."); 
    runner.Run(); 
} 

답변

3

당신이 UI automation 봤어? Google에서 "wpf ui automation"으로 소화하기 쉬운 샘플 코드를 작성한 다음 msdn으로 향합니다.

관련 문제