我正在使用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机器。
帮忙。任何信息都会非常有用
答案 0 :(得分:0)
现在可能会有所帮助,但我刚刚遇到了与MSTestHacks相同的问题,在我的情况下,就像在你的情况下一样,我已经有了app.config,这是各种GitHub问题的建议解决方案。我对它进行了跟踪,以便对DataSource
属性中需要的完全限定名称空间做出假设。
在我的情况下,我假设命名空间是
FrontOffice.BusinessLogicLayer.Tests.Queries.GenericTools.GetToolsForPartnerQueryTests.TestCases
这是因为该项目名为FrontOffice.BusinessLogicLayer.Tests
。但是当我检查项目属性中的Assembly name
和Root namespace
字段时,我发现它们已被设置为FrontOffice.BusinessLogicLayerTests
。
一旦我纠正了它,就会按预期运行。看起来很明显,但仔细检查你的命名空间,除非你创建它们,否则其他人总是有机会(在我看来)愚蠢的伎俩,让项目的名称与其名称空间不匹配。