내 패키지에 현재 열어 놓은 솔루션에 대한 정보를 얻으려면 (DTE) GetService(typeof (DTE))
을 사용하고 있습니다. 테스트를 위해 이것을 시뮬레이트 할 수있는 방법이 있습니까? 특히 dte.Solution.SolutionBuild
을 사용하여 빌드 할 수 있습니까? 기본 패키지 클래스Visual Studio 패키지에서 테스트를 위해 (DTE) GetService (typeof (DTE))를 시뮬레이션 할 수 있습니까?
코드 : (다시 제거)
var solutionModel = new SolutionModel(((DTE) GetService(typeof (DTE))).Solution);
SolutionModel
클래스 :
public class SolutionModel
{
private readonly Solution _packageSolution;
public SolutionModel(Solution solution)
{
_packageSolution = solution;
}
public SolutionModel() {} // This constructor is used for tests so _packageSolution will be null
public bool Build()
{
if (_packageSolution != null)
{
var buildObject = _packageSolution.SolutionBuild;
buildObject.Build(true);
return buildObject.LastBuildInfo == 0;
}
return ManualCleanAndBuild(); // current messy alternative way of doing the build for tests
}
}
그래서 나는 나의 시험에 _packageSolution
빌드보다는 ManualCleanAndBuild()
를 사용할 수 있어야합니다.
이 답변을 주셔서 감사합니다. 나는 저에게 테스트 프로젝트를 생성했음을 전혀 눈치 채지 못했습니다! 나는 이것을 다음주에 가지고 가서 이것을 대답으로 표시하기 전에 모든 것이 저를 위해 작동하는지 점검 할 것입니다. 감사합니다 :) –
불행하게도 마법사가 만든 이러한 통합 테스트 샘플은 vs2015에서 사라졌습니다. 누구든지 온라인으로 게시 할 수 있습니까? – David