TFS单元测试构建问题

时间:2013-05-16 15:49:22

标签: c# tfs tfsbuild tfs2012

我有一个包含4个项目的解决方案。 3是我测试的依赖项,另一个是我的测试。

  • DL
  • BI
  • MySite(网站)
  • MyTests

MyTests项目中的某些单元测试引用了某些MVC控制器的网站MySite中的命名空间。

问题是我如何获得MyTests项目以使用TFS构建进行构建和部署。无论我尝试什么,TFS构建机器上的_publishedWebSites文件夹总是有网站而不是MyTests文件夹。出于某种原因,它认为它正在构建网站而不是测试。从构建定义或解决方案的角度来看,任何帮助都会受到赞赏。

目的是构建测试并将它们分发到服务器,在服务器中可以使用任务管理器中的命令行工具(有选择地)运行它们。如果我无法正确构建解决方案,我无法分发它们。

1 个答案:

答案 0 :(得分:0)

好吧,所以有一些事情。首先,您需要确保外部解决方案将MyTests识别为启动项目,并将其他项目作为构建依赖项。但是,这可能无法解决您的问题。为此,您可能需要手动创建自定义构建脚本或编辑解决方案/项目文件。后一种方法的问题在于,如果其他人正在从这个解决方案中构建MySite,则编辑项目文件以排除它的丢弃输出将导致它们出现问题。

我个人的方法是创建一个MSBuild脚本,该脚本指定构建项目的顺序以及drop中所需的文件。这是相当直接的,并且可能很容易指定您想要的输出(如果项目构建起来很混乱或者它具有过多且复杂的依赖性,这有时非常繁琐)。

Here's MSBuild的最外层资源。我会仔细研究并考虑最简单的解决方案是什么,但如果您可以使用他们的项目文件构建每个项目然后添加一个构建步骤来清理您的输出,我不会感到惊讶。