2016-10-12 4 views
0

현재 Visual Studio Enterprise 2015 버전 14.0.25431.01 업데이트 3을 사용하고 있으며 MS C# 예제 프로그램을 사용하여 기본 제공 단위 테스트 및 코드 적용 기능을 테스트했습니다. 단위 테스트는 완벽하게 정상적으로 작동하지만 테스트가 끝난 후 코드 커버리지를 시작할 때마다 다음과 같은 오류 메시지가 나타납니다 :Visual Studio 2015 업데이트 3 코드 적용 문제

"빈 결과가 생성되었습니다 : 테스트가 실행되었는지, 필수 바이너리가로드되고, 일치하는 심볼 파일이 있고, 사용자 정의 설정을 통해 제외되지 않았습니다. 자세한 내용은 http://go.microsoft.com/fwlink/?LinkID=253731. "을 참조하십시오.

물론 문제 해결을위한 링크를 확인하고 거기에 나열된 모든 문제를 해결했지만 성공하지 못했습니다. 또한 이전 버전 (바이너리를 계측하거나 코드 적용 범위를 실행하고 테스트 결과 폴더 및 VS 솔루션 사용자 옵션 .suo 파일 등을 삭제하는 데 사용되는 명령 프롬프트를 사용하여 작업해야하는 여러 가지 솔루션을 시도했지만 여전히 아무것도 찾지 못했습니다. 내 사건에 유용한 일.

누구나 같은 문제에 직면 해 있습니까? 아니면 가능한 해결책을 알고 있습니까?

미리 감사드립니다.

최저

,

스티브

PS : 나는 표준 설정을 사용하지만, 모든 최적화를 해제하고있다. 내 테스트 프로젝트는 테스트하려는 소스 프로젝트와 동일한 솔루션에 있습니다.

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Windows.Forms; 

namespace codecoverage 

{ 
public class Program 
{ 

    static void Main(string[] args) 
    { 
     Program prog = new Program(); 
     prog.TestFunction(0); 
    } 

    public int TestFunction(int input) 
    { 
     if (input > 0) 
     { 
      return 1; 
     } 

     else 
     { 
      return 0; 
     } 
    } 
} 
} 

테스트 클래스

는 다음과 같이 정의된다 : i는 솔루션을 찾고있다

using Microsoft.VisualStudio.TestTools.UnitTesting; 
using codecoverage; 
using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 

namespace codecoverage.Tests 
{ 
    [TestClass()] 
    public class ProgramTests 
    { 
     [TestMethod()] 
     public void TestFunctionTest2() 
     { 
      Program target = new Program(); 
      int input = 1; 
      int expected = 1; 
      int actual; 
      actual = target.TestFunction(input); 
      Assert.AreEqual(expected, actual, "CodeCoverage.Program.TestFunction did not return the expected value."); 
     } 
    } 
} 
+0

https://blogs.msdn.microsoft.com/allendm/2012/06/05/troubleshooting-missing-data-in-code-coverage-results/ – allen

+0

답장을 보내 주셔서 감사합니다. 페이지를 확인하고 분석 결과 파일이 비어 있습니다. 따라서 테스트를 실행하는 동안 바이너리가 메모리에로드되지 않는 것 같습니다. 어떤 생각을 고치는 방법? 내 설정에 문제가 있습니까? 내 테스트는 오류없이 실행되었으므로 그 점도 확인했습니다. – Steve

답변

0

다음 예제 프로그램의 코드이다. 실제로 PDB 파일 문제라는 것을 알게되었습니다. 이 링커 탭 -> 디버깅으로 이동하면됩니다. 옵션 "Generate full program database file"을 Yes로 설정하십시오. 이것은 VS2015가/Debug : FASTLINK에 대해 도입 된 변경 때문입니다. '예'로 설정하면 무시됩니다.

관련 문제