-3
public List<TempProject> GetActiveProjects()
{
    foreach (Project project in _applicationObject.DTE.Solution.Projects)
    {
        if (project.FullName.EndsWith(".csproj"))
            projects.Add(new TempProject(project));
    }
    return projects;
}
4

2 回答 2

1
  1. 打开 Visual Studio
  2. 创建一个新的库项目(假设 C#)
  3. 添加对单元测试框架的适当引用(从标签中,您似乎需要 NUnit - 获取它的最简单方法是从 NuGet 中提取它)。
  4. 添加一个类来保存 OP 中代码的单元测试。
  5. [TestFixture]用属性装饰测试类。
  6. 添加一个新的公共方法,该方法返回void并且不接受任何参数。这将是您的测试方法。
  7. [Test]用属性装饰测试方法。
  8. 在测试方法的主体中编写单元测试。
  9. 从 4. 重复,直到你有足够的单元测试。
于 2013-10-29T08:32:06.410 回答
0
  1. _applicationObject为您正在测试的类提供模拟实例。这将允许您设置不同的项目集(谷歌用于依赖反转、模拟、起订量)。
  2. 编写测试,验证当解决方案中没有项目时返回空列表。
  3. 如果解决方案中没有 C# 项目,则编写验证是否返回空列表的测试。
  4. 编写测试,验证所有 C# 项目都添加到结果中。

顺便说一句,如果您只需要从解决方案中获取数据,请考虑依赖解决方案对象而不是应用程序对象。这将使您可以轻松地模拟项目集并在获取项目时避免火车残骸:

foreach (Project project in _solution.Projects)
于 2013-10-29T08:30:39.793 回答