我正在使用TFS BuildServer + TestControler +多个TestAgent的集成环境。
以前我使用* .testsettings文件并在角色下定义远程服务器。
我将BuildServer更新为VS2013并引入了SpecRun以进行测试。
由于我有TFS的自定义* .srprofile文件,我必须使用.runsettings文件而不是.testsettings文件。
我找不到一个标签,我可以在.runsettings文件中定义“遥控器名称”。
是否可以在* .runsettings文件中包含“远程控制器名称”?
我是构建配置的新手。任何见解都受到高度赞赏。
其他详细信息:
我找到了this文章,并在.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>
答案 0 :(得分:0)
好的,我认为您犯的错误是使用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.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe" "C:\blahblah\TestsAssembly.dll" /Logger:trx /settings:C:\DummyTests\Remote.testsettings /Platform:x64
TestsAssembly.dll包含您要运行的测试,而Remote.testsettings如上所示。生成的.trx文件出现在\ TestResults ...
中根本不需要runsettings文件。