2009-11-21 2 views
3

저는 Visual Studio 프로젝트에서 MSTest를 사용하기 시작했습니다. (NUnit은 이전에 사용했던 것입니다.) 몇 가지 질문이 있습니다.VS 2008/MSTest - 모든 테스트의 하위 집합을 실행하려면 어떻게해야합니까?

하나의 테스트 메소드를 마우스 오른쪽 버튼으로 클릭하고 테스트 실행을 선택하면 그 하나의 메소드가 테스트됩니다. 좋은. 하지만 내가 선택한 테스트를 x 개만 수행 할 수있는 테스트 실행을 설정할 수있는 방법이 있습니까? 테스트 메뉴와 옵션을 살펴 봤지만 어떻게해야하는지 알 수 없습니다.

또한 테스트의 하위 집합을 디버깅하려면 어떻게해야합니까? 지금 내가 MSTest 프로젝트를 디버깅하면 모든 것이 실행됩니다. 초보자의 질문에 대해 유감스럽게 생각했지만, 나는 메뉴 옵션을 걷어 찼다.하지만이 문제에 관해 나에게 아무 것도 나오지 않았다. 감사!

답변

3

Visual Studio에서는 원하는대로 정확하게 테스트 목록을 만들 수 있습니다. 여기를 참조하십시오 :

http://msdn.microsoft.com/en-us/library/ms182462.aspx은 또한이 링크가 유용 할 수 있습니다 : http://freekleemhuis.com/2008/04/20/unit-testing-in-visual-studio-2008-part-1/

+0

두 분 모두에게 감사드립니다. 테스트 목록을 만들었지 만 테스트를 수행하는 방법을 알아 내지 못했습니다 ...이 기사가 도움이 될 것입니다. – larryq

2

코나 당신이 유지하고자하는 목록에 적합한; 나는 많은 시간을 찾는다. 나는 시간의 테스트를 기다리는 목록이 필요 없다. 다음 몇 분/시간 동안 실행할 수있는 것은 하나 뿐이다.

이 시나리오에서는 테스트보기 창을 사용하여 실행하려는 항목을 강조 표시하고 (CTRL + 왼쪽 화살표) 배수를 입력하고 실행 단추를 누릅니다.

친절,

놀랍지 또 다른 옵션을 볼 수
0

하지 답변에서 현재 컨텍스트에서 실행 테스트입니다. 실행할 테스트의 하위 집합이 동일한 테스트 클래스 또는 동일한 네임 스페이스에있는 경우 목록 또는 선택 항목을 사용하지 않고 그룹으로 실행할 수 있습니다. ctrlr + t은 커서의 범위 내에서 테스트를 실행합니다.

관심이있는 테스트 (또는 변경의 영향을받을 가능성이 높음)가 동일한 테스트 클래스로 지역화되는 경향이 있기 때문에 실제로 도움이됩니다. 또한 테스트 목록은 유지 관리 할 또 다른 부분입니다. 나는 새로운 테스트를 추가하고 오래된 테스트의 이름을 바꾸면 내가 만든 목록을 깨뜨리는 것으로 나타났습니다. 따라서 테스트 목록은 그룹으로 테스트해야하는 잘 구성된 그룹이있는 경우 가장 유용합니다.

예를 들어 커서가 테스트 자체에 있으면 커서는 해당 테스트 만 실행합니다. 몇 줄을 테스트 사이의 공간으로 이동하면 해당 클래스의 모든 테스트가 실행됩니다. 또한 커서를 클래스 외부로 이동하고 해당 네임 스페이스에서 모든 테스트를 실행할 수 있습니다.

namespace Tests 
{ 
    // Cursor here to run all tests in Tests 
    [TestClass()] 
    public class ClassOfTests 
    { 
     // Cursor here to run all Tests in this class 
     [TestMethod()] 
     public void MethodUnderTest_WithThisSetup_ReturnsValue() 
     { 
      // Cursor here to only run this test 
     } 

    } 

} 
관련 문제