2011-05-02 2 views
1

Visual Studio 2010에서 기본 제공 단위 테스트를 사용하고 있습니다. 아래 코드는 내 단위 테스트의 기본 구조를 보여줍니다.유닛 테스트에서 owner 매개 변수를 대화 상자로 전달하려면 어떻게해야합니까?

public void StartEditorTest() 
{ 
    IWin32Window owner = null; 
    var openDialog = new OpenFileDialog(); 

    openDialog.Title = "Select file"; 

    if (openDialog.ShowDialog(owner) == DialogResult.OK) 
    { 
     bool expected = false; // TODO: Initialize to an appropriate value 
     bool actual; 

     var myEditorForm = new MyEditorForm(); 

     // StartEditor does some initialization, calls ShowDialog(owner) 
     // and returns a boolean 
     actual = myEditorForm.StartEditor(owner, openDialog.FileName); 
     Assert.AreEqual(expected, actual); 
    } 
} 

내가 갖고있는 문제는 openDialog가 항상 전경 윈도우로 나타나지 않는다는 것입니다. 그것은 제대로 열리지 만 창문 z 순서의 어딘가에 중첩되어 있으며이를 찾으려면 Alt-Tab을 사용해야합니다.

Visual Studio IDE를 소유자로 지정하고 싶습니다. 그러나 어떻게해야하는지 잘 모르겠습니다. 올바른 작업이라 할지라도. 나는 단위 테스트에서 시작된 모든 대화 상자를 포 그라운드에 표시하기 만하면됩니다.

+5

그냥 의견 : 그건 단위 테스트가 아닙니다. 단위 테스트는 자체 포함하기위한 것입니다. 아무 것도 입력하지 않아도 "자기 포함"되지 않습니다. –

+0

포인트가 찍혔습니다. 다른 파일을 테스트 할 수 있도록 사용하기 쉽도록 ("게으른"읽기) 사용했습니다. –

+0

그런 경우 앞면으로 가져 오는 코드를 간단하게 추가 할 수 있습니다. Visual Studio의 내부 윈도우이기 때문에 올바른 소유자를 얻을 수 있다고 생각하지 않습니다. 어쩌면, 당신은 VS의 메인 윈도우를 사용하려고 할 수 있습니다 ... –

답변

1

여기에 더 적합한 ui 테스트 프레임 워크가 있습니다. 검색을 시도하십시오 .net automated ui testing

관련 문제