【问题标题】:MSTesthacks - Running in Continous Integration using Microsoft ALM not workingMSTesthacks - 使用 Microsoft ALM 在持续集成中运行不工作
【发布时间】:2016-09-15 00:09:16
【问题描述】:

我正在使用 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机器,测试机器也是win 10机器。

请帮忙。任何信息都会很有帮助

【问题讨论】:

  • MSTesthacks 是一个类似于 MSTest 的单元测试框架,但在将数据传递给单个测试方面具有更大的灵活性。我用它来传递自定义数据源。看看github.com/Thwaitesy/MSTestHacks。最初使用真的很酷,但……现在不行……
  • 好的,很酷,我创建了一个新标签,以便我们将来可以使用 MSTestHacks 轻松分类问题。
  • 您使用的是哪个版本,Xaml 还是 vNext?
  • vNext 是我正在使用的

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


【解决方案1】:

它现在可能对你有帮助,也可能对你没有帮助,但我刚刚遇到了与 MSTestHacks 相同的问题,就我而言,就像你的一样,我已经有了一个 app.config,它是各种 GitHub 问题中建议的解决方案。我追查到对您在DataSource 属性中所需的完全限定命名空间做出了假设。

在我的例子中,我假设命名空间是

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

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

一旦我纠正了这个问题,它就会按预期运行。这似乎很明显,但请仔细检查您的命名空间,因为除非您创建它们,否则总有可能其他人(在我看来)做出愚蠢的伎俩,让项目的名称与其命名空间不匹配。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多