【问题标题】:MSTest - Running tests using visual studio services (TFS and Continous Integration )MSTest - 使用 visualstudio 服务运行测试(TFS 和持续集成)
【发布时间】:2016-09-14 10:26:23
【问题描述】:

我正在跟进以下链接并设置 CI 设置。

https://blogs.msdn.microsoft.com/visualstudioalm/2015/05/29/testing-in-continuous-integration-and-continuous-deployment-workflows/

我在这里面临的问题与测试设置文件有关。测试在本地运行良好。但是在运行它时不是远程的,我得到了所有的测试失败。

我相信这是因为电子表格(测试数据所在的位置)和测试设置文件。

我的测试设置文件在下面

<?xml version="1.0" encoding="UTF-8"?>
   <TestSettings name="UITestSettings" id="1623gdcf4-f2af-496f-b65h4-fe25w6c4e49cb" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010">
  <Description>These are default test settings for a remote test run.</Description>
  <Deployment>
    <DeploymentItem filename="XXX\TestData\LocationData.xls" />
    <DeploymentItem filename="XXX\TestData\UITestData.xls" />
  </Deployment>
  <Execution parallelTestCount="0">
    <Timeouts runTimeout="36610000" testTimeout="36610000" />
    <TestTypeSpecific>
      <UnitTestRunConfig testTypeId="13cdcs9d9-ddb5-4fa4-a97d-d965ccdfc6d4b">
        <AssemblyResolution>
          <TestDirectory useLoadContext="true" />
        </AssemblyResolution>
      </UnitTestRunConfig>
      <WebTestRunConfiguration testTypeId="4ess7599fa-5ecb-43e9-a887-cd63cfdf72d207">
        <Browser name="Internet Explorer 9.0" MaxConnections="6">
          <Headers>
            <Header name="User-Agent" value="Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)" />
            <Header name="Accept" value="*/*" />
            <Header name="Accept-Language" value="{{$IEAcceptLanguage}}" />
            <Header name="Accept-Encoding" value="GZIP" />
          </Headers>
        </Browser>
      </WebTestRunConfiguration>
    </TestTypeSpecific>
    <AgentRule name="LocalMachineDefaultRole">
    </AgentRule>
  </Execution>
  <Properties>
    <Property name="TestSettingsUIType" value="UnitTest" />
  </Properties>
</TestSettings>

所有测试都因此错误而失败

在测试配置设置中找不到数据源“XXX.YYY.aboutThemRecommendationFirstQuarterFlows”

但我在构建步骤中有设置文件(在运行功能步骤中)

有什么我想念的吗?任何帮助都会很棒,因为我正在努力寻找解决方案。

谢谢

【问题讨论】:

  • 你能分享一种失败的测试方法吗?
  • 再次感谢埃迪。请在下面查看我的 cmets

标签: c# tfs continuous-integration mstest tfsbuild


【解决方案1】:

根据错误消息,您似乎指的是名为“XXX.YYY.aboutThemRecommendationFirstQuarterFlows”的数据源,该数据源在“App.config”文件测试配置设置中不存在。

例如,我有一个测试方法使用“MyExcelDataSourceTTT”数据源:

[TestMethod]
[DataSource("MyExcelDataSourceTTT")]
public void TestMethod1()
{
    Assert.AreEqual(TestContext.DataRow["1"].ToString(),"1");
}

但在 App.config 文件中,我只有“MyExcelDataSource”数据源。 “MyExcelDataSourceTTT”数据源不存在:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <section name="microsoft.visualstudio.testtools" type="Microsoft.VisualStudio.TestTools.UnitTesting.TestConfigurationSection, Microsoft.VisualStudio.QualityTools.UnitTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
  </configSections>
  <connectionStrings>
    <add name="ExcelConnection" connectionString="Dsn=Excel Files;dbq=.\testdata.xlsx;defaultdir=.; driverid=790;maxbuffersize=2048;pagetimeout=5" providerName="System.Data.Odbc" />
  </connectionStrings>
  <microsoft.visualstudio.testtools>
    <dataSources>
      <add name="MyExcelDataSource" connectionString="ExcelConnection" dataTableName="Sheet1$" dataAccessMethod="Sequential"/>
    </dataSources>
  </microsoft.visualstudio.testtools>
</configuration>

现在,在运行测试时,您将收到“在测试配置设置中找不到数据源'MyExcelDataSourceTTT'..”错误消息。

【讨论】:

  • 感谢您的回答。我明白你在说什么。我正在使用将 IEnumerable 作为数据源的 MSTesthacks。我正在解析来自 excel 的数据并将其转换为 IEnumerable 并将其用作数据源。它在本地运行良好。它仅在构建系统中,不会执行。我确信这是测试设置文件。但不确定我是否需要使用其他格式
  • @TimothyRajan 那么你的项目中有 App.config 并将其上传到源代码管理吗?
猜你喜欢
  • 2011-12-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多