在我的软件包中,我使用(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()
。
感谢这个答案,我完全没有注意到它已经为我生成了测试项目!我将在下周出发,并在我将其标记为答案之前检查它是否适用于我。谢谢:) – 2014-11-03 14:30:39
不幸的是这些由向导创建的集成测试样本在vs2015中没有了。任何人都可以在网上发帖吗 – David 2016-02-20 12:49:31