在TeamCity中禁用MSTest临时目录

Pav*_*rno 5 c# teamcity continuous-integration mstest visual-studio-2010

我正在使用TeamCity Professional来不断地构建和测试我的代码.

我有一些基于MSTest的测试在我的PC上在VS2010中正常工作但在构建服务器上失败了.

我悄悄地发现,经过测试,TeamCity在其中创建了一个临时目录TEMP_DIR(可配置),并仅将"第一关系"依赖项复制到测试DLL.

例如:我的测试使用NHibernate.dll哪个被复制到临时目录但其依赖项(即NHibernate.ByteCode.Castle)没有被复制,并且测试失败并出现IO.FileNotFound异常.

有什么办法可以从测试项目输出目录(Test/bin/debug)运行测试吗?

如果没有,我如何指定应该将哪些DLL复制到临时目录?

Jul*_*ret 13

您可以在解决方案中添加TestSettings文件,该文件将描述要部署的所有文件.

首先,添加一个TestSettings文件.打开它,在" 部署 "选项卡中,添加所需的所有文件(.dll).然后在TeamCity上,在MSTest构建步骤中,指定要在" Additional command parameters "区域中使用的TestSettings文件.例如:"/ testsettings:Local.Testsettings"

这样,您在部署项中指定的所有文件都将复制到临时目录中.

  • 这帮助了我 - 谢谢!两个可能对其他人有帮助的注释:首先,我能够在"MSTest运行配置文件:"中为TeamCity设置指定xxx.Testsettings文件.其次,该字段需要从TeamCity中的工作目录获取文件的路径,该目录本质上是存储库的顶级. (3认同)