我有一个集成的环境与TFS BuildServer + testcontroller +几个TestAgents。
之前我使用了*。testsettings文件并在Roles下定义远程服务器。
我将BuildServer更新到VS2013,并引入SpecRun用于测试执行。
因为我有一个自定义*。对于TFS,我必须使用.runsettings文件而不是.testsettings文件。
我找不到一个标签,我可以在。runsettings文件中定义"远程控制器名称"。
是否有办法在*.runsettings文件中包含"远程控制器名称"??
我是构建配置的新手。如有任何见地,不胜感激。
更多细节:
我找到了这篇文章,并在.runsettings文件中定义了.testsettings文件路径。以下是根据本文修改的文件。但这行不通。可能是SpecRun适配器不支持标签。
TestSettings文件我使用了
<?xml version="1.0" encoding="UTF-8"?>
<TestSettings name=".........." id="........." xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010">
<Description>Remote settings for running the tests on.....</Description>
<Deployment>
....
</Deployment>
<RemoteController name=".....local:6901" />
<Execution location="Remote">
<TestTypeSpecific>
<UnitTestRunConfig testTypeId=".....">
<AssemblyResolution>
<TestDirectory useLoadContext="true" />
</AssemblyResolution>
</UnitTestRunConfig>
</TestTypeSpecific>
<AgentRule name=".....">
</AgentRule>
</Execution>
<Properties />
</TestSettings>
示例*.runsettings文件我现在正在使用。
<?xml version="1.0" encoding="utf-8"?>
<RunSettings>
<!-- Configurations that affect the Test Framework -->
<RunConfiguration>
<!-- Path relative to solution directory -->
<ResultsDirectory>......</ResultsDirectory>
</RunConfiguration>
<SpecRun>
<Profile>TFS.srprofile</Profile>
<ReportFile>TestResults.html</ReportFile>
<GenerateSpecRunTrait>true</GenerateSpecRunTrait>
<GenerateFeatureTrait>false</GenerateFeatureTrait>
<SettingsFile>.....Remote.AutoTest_2013.testsettings</SettingsFile>
<ForcedLegacyMode>true</ForcedLegacyMode>
</SpecRun>
</RunSettings>
好的,我认为你犯的错误是使用runsettings文件。您可以在testsettings文件中指定它。我们的是这样的:
<?xml version="1.0" encoding="UTF-8"?>
<TestSettings name="RemoteTest" id="9cfa5873-0238-4d56-a1ec-079192fa72c8" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010">
<Description>Settings set up to run remotely through test controller</Description>
<RemoteController name="**YOURCONTROLLERMACHINE**" />
<Execution location="Remote" hostProcessPlatform="MSIL">
<TestTypeSpecific>
<UnitTestRunConfig testTypeId="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b">
<AssemblyResolution>
<TestDirectory useLoadContext="true" />
</AssemblyResolution>
</UnitTestRunConfig>
</TestTypeSpecific>
<AgentRule name="AllAgentsDefaultRole">
</AgentRule>
</Execution>
<Properties />
</TestSettings>
然后从命令行调用它,传入testsettings路径:
"C:Program Files (x86)Microsoft Visual Studio 12.0Common7IDECommonExtensionsMicrosoftTestWindowvstest.console.exe" "C:blahblahTestsAssembly.dll" /Logger:trx /settings:C:DummyTestsRemote.testsettings /Platform:x64
其中TestsAssembly.dll包含要运行的测试和远程。测试设置如上所述。生成的。trx文件出现在TestResults…
你根本不需要运行设置文件