在TeamCity中禁用MSTest临时目录

时间:2011-11-29 15:13:24

标签: c# visual-studio-2010 continuous-integration teamcity mstest

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

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

我偷偷摸摸地发现,经过测试,TeamCity在其TEMP_DIR(可配置)中创建一个临时目录,并仅复制"第一关系"依赖于测试DLL。

例如:我的测试使用NHibernate.dll复制到临时目录,但其依赖项(即NHibernate.ByteCode.Castle)没有被复制,测试失败,{{1}例外。

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

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

1 个答案:

答案 0 :(得分:13)

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

首先,添加 TestSettings 文件。打开它,然后在“部署”标签中添加您需要的所有文件(.dll)。 然后在TeamCity上,在MSTest构建步骤中,指定要在“附加命令参数”区域中使用的TestSettings文件。例如:“/ testsettings:Local.Testsettings”

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