2017-09-06 1 views
0

Windows Forms 프로젝트에 MVP 패턴을 사용하고 있습니다. 실제로 폼에서 분리해서는 안되기 때문에 뷰에 생성 논리를 남겼습니다. 이제는 폼을 테스트하려고합니다. 어떻게 이런 단위 테스트 메소드를 구현할 수 있을지 모르겠습니다. 나는 조롱에 대해 읽었지만 컨트롤이 생성되도록 구현하는 방법을 모르겠습니다.동적으로 생성 된 컨트롤을 창문에 단위 테스트하기

private void Form_Paint(object sender, PaintEventArgs e) 
    { 
     int count = 1; 
     while (count == 1) 
     { 
      e.Graphics.DrawImage(image, rec); 
      count++; 
     } 


      DrawCircle(e.Graphics, point.X, point.Y); 

    } 

    private void DrawCircle(Graphics g, float x, float y) 
    { 

     using (Brush semiTransBrush = new SolidBrush(Color.Coral)) 
     { 
      using (Pen pen = new Pen(Color.Aquamarine, 2)) 
      { 
       g.DrawEllipse(pen, x, y, 50, 50); 
       g.FillEllipse(semiTransBrush, x, y, 50, 50); 

      } 
     } 
    } 

답변

1

수행하지

internal void createExamLabels(List<string> examList) 
    { 
     labelList = new List<Label>(); 

     foreach (string exam in examList) 
     { 
      LinkLabel label = new LinkLabel(); 
      label.Text = exam; 
      label.Location = labelPoint; 
      label.Click += examlabelLinkClicked; 
      label.AutoSize = true; 
      this.Controls.Add(label); 
      labelList.Add(label); 
      labelPoint.Y = labelPoint.Y + 30; 

     } 
    } 

또는이.

일반적으로 단위 테스트는 파일 시스템, 데이터베이스 또는 UI와 같은 "외부"시스템에 손을 대서는 안됩니다.

일부 WPF 컨트롤에 대한 "단위 테스트"가있는 엔터프라이즈 응용 프로그램을 작성했습니다. 이 테스트는 우리의 전체 유닛 테스트 스위트에서 가장 불안정하고, 가장 오랫동안 실행되었으며, 가장 어려운 테스트였습니다.

응용 프로그램 부분에 더 잘 맞도록 장치 테스트 노력을 집중하십시오. 인용 한 MVP 패턴의 경우 모델과 발표자에 초점을 맞 춥니 다. 임시 테스트를 위해 UI 테스트를 그대로 둡니다.

관련 문제