MSTesthacks - 使用Microsoft ALM在连续集成中运行不起作用

时间:2016-05-18 13:13:57

标签: c# visual-studio-2015 mstest tfsbuild mstesthacks

我正在使用MSTest运行我的单元测试,由于某种原因,所有测试都失败并显示以下错误消息

单元测试适配器抛出异常:

数据来源' XXX.YYY.DriverData.aboutThemContactInformationFlows'在测试配置设置中找不到..

但测试在我的本地机器上正常运行。不确定什么是错的。

我正在我的测试机器中使用visual studio 2015以及我的开发机器。

我的开发机器中的相同设置正常运行。

读取指向测试项目中缺少app.config文件的其他线程。我在测试项目中有一个app.config文件。

有没有我遗失的东西。以下是测试设置文件

<?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>
嗯,开发机器是一台Win10机器,测试机器也是10机器。

帮忙。任何信息都会非常有用

1 个答案:

答案 0 :(得分:0)

现在可能会有所帮助,但我刚刚遇到了与MSTestHacks相同的问题,在我的情况下,就像在你的情况下一样,我已经有了app.config,这是各种GitHub问题的建议解决方案。我对它进行了跟踪,以便对DataSource属性中需要的完全限定名称空间做出假设。

在我的情况下,我假设命名空间是

FrontOffice.BusinessLogicLayer.Tests.Queries.GenericTools.GetToolsForPartnerQueryTests.TestCases

这是因为该项目名为FrontOffice.BusinessLogicLayer.Tests。但是当我检查项目属性中的Assembly nameRoot namespace字段时,我发现它们已被设置为FrontOffice.BusinessLogicLayerTests

一旦我纠正了它,就会按预期运行。看起来很明显,但仔细检查你的命名空间,除非你创建它们,否则其他人总是有机会(在我看来)愚蠢的伎俩,让项目的名称与其名称空间不匹配。