.net 从TeamCity服务器上的生成文件夹运行MS测试

.net 从TeamCity服务器上的生成文件夹运行MS测试,.net,teamcity,mstest,.net,Teamcity,Mstest,我正在尝试从TeamCity上的build文件夹运行MS测试 主要原因是我们的应用程序使用了几个配置文件(设置了“复制到输出目录”选项的csv文件),这些文件是从其运行文件夹加载的。这些不是测试文件,而是必需的应用程序文件,因此使用MSTest deploy属性不是一个选项 在本地,R#和VS2013正确运行测试,在TeamCity(8.1)上,我得到一个错误-csv文件丢失 我尝试使用.runsettings文件(“构建步骤配置/MSTest运行配置文件”)指定False,但是MSTest(1

我正在尝试从TeamCity上的build文件夹运行MS测试

主要原因是我们的应用程序使用了几个配置文件(设置了“复制到输出目录”选项的csv文件),这些文件是从其运行文件夹加载的。这些不是测试文件,而是必需的应用程序文件,因此使用MSTest deploy属性不是一个选项

在本地,R#和VS2013正确运行测试,在TeamCity(8.1)上,我得到一个错误-csv文件丢失

我尝试使用.runsettings文件(“构建步骤配置/MSTest运行配置文件”)指定
False
,但是MSTest(12.0.21005.1)返回此错误:

“文件'C:\TeamCity\buildAgent\work\d6160ab253397620\tests.runsettings'的格式未知,无法转换为当前版本。”

该文件非常简单(从msdn复制):


真的
假的
假的
假的
在过去的两个小时里,我一直在为这个问题绞尽脑汁,我简直不敢相信,这么简单的事情用MSTest很难完成

[编辑]

文件看起来应该是这样的:

<?xml version="1.0" encoding="UTF-8"?>
<TestSettings
  id="b8968a45-0b6a-40a9-bcf7-7573da114965"
  name="MSTest"
  enableDefaultDataCollectors="false"
  xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010">
  <Description><!--_locID_text="Description1"-->These are default test settings for a local test run.</Description>
  <Deployment enabled="false" />
</TestSettings>

这些是本地测试运行的默认测试设置。

…但它仍然不起作用:测试在自定义文件夹中运行,csv文件不会被复制。

您说您不能使用MSTest deploy属性,但我遇到了同样的问题,使用DeploymentItem属性解决了这个问题

我的部署项不是CSV,而是一个自动生成的DLL(XmlSerializer DLL),它在生成期间复制到输出文件夹,并且需要位于测试运行文件夹中

在VisualStudio中,我还使用了
False
的RunSettings选项,但找不到使TeamCity使用此文件的方法

最后,我向每个TestClass添加了一个DeploymentItem,解决了这个问题

DeploymentItem只需要包含要复制的文件名,因为它与生成输出文件夹相关,并将该项复制到测试运行文件夹


在您的情况下,我猜可能是这样的:
[DeploymentItem(“Data.csv”)]

Pawel,偶然发现您的问题:

  • 已尝试您的.runsettings更新版本-工作正常
  • 如果TC未看到CSV文件,可能会在编译后向msbuild脚本添加以下键:

  • 我也有同样的问题。您是否偶然找到了解决方案?我正在使用您的
    test.runsettings
    的编辑版本,它现在在TC 9.0.3上对我起作用-仍然很困惑,因为有很多引用使用
    False
    ,但在您的工作xml文件中它是
    <?xml version="1.0" encoding="UTF-8"?>
    <TestSettings
      id="b8968a45-0b6a-40a9-bcf7-7573da114965"
      name="MSTest"
      enableDefaultDataCollectors="false"
      xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010">
      <Description><!--_locID_text="Description1"-->These are default test settings for a local test run.</Description>
      <Deployment enabled="false" />
    </TestSettings>