在TeamCity中禁用MSTest临时目录

本文关键字:MSTest TeamCity | 更新日期: 2023-09-27 18:16:19

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

我有一些基于MSTest的测试,在我的PC上的VS2010中工作良好,但在构建服务器上失败。

我窥探了一下,发现在测试时,TeamCity在它的TEMP_DIR(可配置)中创建了一个临时目录,并仅将"第一关系"依赖项复制到测试DLL中。

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

是否有任何方法可以从测试项目输出目录(test/bin/debug)运行测试?

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

在TeamCity中禁用MSTest临时目录

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

首先,添加一个TestSettings文件。打开它,在"Deployment"选项卡中,添加所需的所有文件(.dll)。然后在TeamCity上,在MSTest构建步骤中,指定要在"附加命令参数"区域中使用的TestSettings文件。例: "/testsettings:当地。Testsettings "

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