2012-08-30 7 views
14

일부 솔루션에는 ASP.NET/WCF 웹 프로젝트와 테스트 프로젝트가 있습니다. 일부 테스트는 http://localhost:port/...을 사용하여 ASP.NET 개발 웹 서버에 대해 실행됩니다. VS2010에서는 ASP.NET/WCF 웹 프로젝트가 디버깅되는 동안 테스트 주자가 테스트를 실행할 수 있었고 웹 프로젝트에 중단 점이 있으면 디버거가 실행을 중단했습니다. 이것은 VS2012에서 비활성화/제거 된 것 같습니다.웹 프로젝트를 디버깅하는 동시에 테스트를 실행하는 방법은 무엇입니까?

ASP.NET/WCF 웹 프로젝트를 디버깅 할 때 (F5 키를 누르거나 연결 프로세스를 통해 시작될 때) TEST-> Run 및 TEST-> Debug 하위 메뉴가 비활성화됩니다. VS2010에서는 Test-> Run 하위 메뉴가 계속 활성화되어있는 동안 Test-> Debug 하위 메뉴 만 사용할 수 없었습니다. 우리는이 방법을 사용하여 웹 프로젝트 내에서 서비스를 쉽게 디버깅합니다. 그 행동을 되 찾을 수있는 방법이나 해결 방법은 없습니까?

Debugging While Running on ASP.NET Development Server은 VS2012에 적용되지 않거나 적어도 작동시키지 못하는 것 같습니다.

+0

@ 로버트, 나는 태그가 질문에 포함되어서는 안된다고 생각했습니다. 또한, 문제는 "웹 프로젝트가 디버깅 중일 때 동시에 테스트를 실행하는 방법"에 관한 것입니다. VS2012에서는 테스트를 전혀 실행할 수 없습니다. –

+0

그래서 나는 그 질문을하고있다. 디버거가 실행 중이고 웹 프로젝트가 디버깅 중이면 테스트를 실행할 수 없습니다. TEST-> Run 및 TEST-> Debug의 모든 메뉴가 비활성화됩니다. 이것은 VS2010의 경우가 아닙니다. 우리는 여러 대의 컴퓨터와 여러 프로젝트 (VS2012로 변환)를 사용해 보았습니다. –

+0

제목을 만들 때 Google에서 어떻게 표시되는지 생각합니다. 가장 인기있는 태그 (이 경우 ASP.NET)가 Google의 제목 시작 부분에 추가되므로 제목의 시작 부분에 태그를 추가하는 것은 전혀 의미가 없습니다. 그러나 태그가 Google의 더 나은 제목이되면 제목 중간이나 끝에 자연스럽게 표시되는 것은 괜찮습니다. –

답변

2

빠른 addon을 작성했습니다. VS2012와 마찬가지로 VS2012 테스트 러너도 웹 프로젝트가 디버깅 될 때 테스트를 실행할 수 있습니다. 메뉴 옵션이 비활성화 된 것입니다. 당신이 WCF 응용 프로그램과 테스트를 호출있는 솔루션이있는 경우

+0

좋은 생각입니다. 불행히도 내가 addon을 시도하면 오류 번호 80004005로로드되지 않습니다. 이것은 VS 2012 Ultimate, Update 2입니다. – JohnnyHK

+0

노력에 감사드립니다. 이 지침 (https://stackoverflow.com/questions/21662223/cant-integrate-visual-studio-2013-with-an-add-in)을 따르면 VS 2013 커뮤니티에서 실행됩니다. 나에게 오류 메시지는 없지만 VS는 "모든 테스트를 컨텍스트에서 실행"옵션을 사용하고 테스트를 실행하지 않을 때 디버깅을 중지하도록 요청합니다. – AronVanAmmers

6

, 당신은 이전 디버깅 시작 (F5)없이 디버그 모든 테스트 또는 디버그 선택한 테스트를 호출하여 테스트를 사용하여 응용 프로그램을 디버깅 할 수 있습니다.

구성 모든 작업에 없음 세트 여러 시작 프로젝트에 솔루션 및 페이지를 열지 마십시오 시작 액션 에 WCF 응용 프로그램을 구성합니다. 요청을 기다리십시오. 이 구성을 사용하면 모든 테스트 디버그 또는 선택한 테스트 디버그을 선택하면 개발 웹 서버가 시작됩니다.

+0

이것은 ASP.NET MVC 웹 사이트에서도 작동합니다. –

11

VS2013에서 상황은 동일합니다. 프로젝트 실행/디버깅 중에는 실행/디버깅 테스트 옵션이 회색으로 표시됩니다. 특히 웹 API와 같이 HTTP를 통해 API를 호출하는 테스트 (Controller 클래스의 인스턴스를 만들고 네트워크 트래픽을 우회하는 것과 달리)가 API의 최종 사용자에 더 가깝기 때문에 매우 유용합니다. 경험할 것이다.

해결 방법으로 동일한 솔루션을 VS의 별도 인스턴스에서 열거 나 테스트 할 때 동일한 프로젝트로 별도의 솔루션을 만들 수 있습니다. 첫 번째 VS 인스턴스에서 디버그하고 두 번째 인스턴스에서 테스트를 실행합니다.

0

다음은 웹 서버와 함께 단일 단위 테스트를 디버깅하는 방법입니다. Debugging Multiple Processes (MSVS Express는 제외)에 의존합니다.

  1. 웹 서버를 시작하고 해당 프로세스 ID를 기록하십시오.
  2. 테스트의 첫 번째 줄에 중단 점 배치
  3. 시작 단위 테스트 디버그를 시작하고 중단 점에서 중지 될 때까지 기다립니다.-
  4. 디버그> 프로세스 (I 가정 테스트 포함) 전체 프로젝트에 대한 웹 서버 프로세스 ID를

다른 방법를 입력하려면 첨부 : -> 속성 -

오른쪽 솔루션 클릭> 다중 시작 프로젝트. 정의한 다음 F5 (디버그)를 선택하십시오.

관련 문제