我在目标机器上将 mstest设置为独立程序,而不安装 Visual Studio。因此,我将所需的文件(* .exe,dll)mstest 复制到目标机器,并在 gac 中注册了 mstest 需要运行单元测试的所有 dll。
到目前为止正常单元测试工作正常。
Acually 我尝试设置 mstest 来运行编码的 ui 测试。我将一些新的 dll 复制到目标机器:
- Microsoft.VisualStudio.QualityTools.CodedUITestFramework.dll
- Microsoft.VisualStudio.TestTools.UITest.Common.dll,TestTools.UITest.Extensions.dll
- Microsoft.VisualStudio.TestTools.UITesting.dll
- Microsoft.VisualStudio.HostingProcess.Utilities.Sync
但是当我尝试在目标机器上通过 mstest.exe 对 cmd.exe 执行测试时,测试会运行但总是失败(在我的本地机器 Visual Studio 2012 上工作正常)。这是一个非常简单的测试:
- just click on "Start",
- type in "calc press enter"
两台机器使用相同的操作系统。
我猜 MSTest.exe仍然需要一些 dll来执行 codedUiTests。坏事是缺少的 dll 没有出现在 cmd.exe 中,没有错误,没有提示,什么都没有:/
测试正常运行,但所有测试都会失败。
命令输出:
Microsoft (R) Test Execution Command Line Tool Version 11.0.50727.1
Copyright (c) Microsoft Corporation. All rights reserved.
Loading D:\Users\Jenkins\Desktop\CodedUITestProject1\CodedUITestProject1\bin\Debug\CodedUITestProject1.dll...
Starting execution...
Results Top Level Tests
------- ---------------
Failed CodedUITestProject1.CodedUITest1.CodedUITestMethod1
0/1 test(s) Passed, 1 Failed
Summary
-------
Test Run Failed.
Failed 1
---------
Total 1
Results file: C:\VS2011Stub\Common7\IDE\TestResults\Jenkins_MSGP166C 2013-05-24 12_36_28.trx
Test Settings: Default Test Settings
有谁知道 mstest.exe 需要哪些文件才能以正确的方式运行 codeduitests?
编辑:我检查了 *.trx 文件并将丢失的 dll 复制到我的目标机器上。
我试图再次运行测试,它再次失败。我再次检查了 trx 文件并收到了一条很棒的消息:/
<Results>
<UnitTestResult executionId="4652eeb1-e1b4-4782-a288-dbd4bb0bda5a" testId="484ddbfe-fdc6-0f5d-9e7b-bab4da5b5905" testName="CodedUITestMethod1" computerName="MSGP166C" duration="00:00:00.0887388" startTime="2013-05-24T16:30:24.1716290+02:00" endTime="2013-05-24T16:30:24.6266745+02:00" testType="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b" outcome="Failed" testListId="8c84fa94-04c1-424b-9868-57a2d4851a1d" relativeResultsDirectory="4652eeb1-e1b4-4782-a288-dbd4bb0bda5a">
<Output>
<ErrorInfo>
<Message>Error calling Initialization method for test class CodedUITestProject1.CodedUITest1: System.IO.FileNotFoundException: Das System kann die angegebene Datei nicht finden. (Ausnahme von HRESULT: 0x80070002)</Message>
<StackTrace> bei System.Reflection.RuntimeAssembly.nLoadFile(String path, Evidence evidence)
bei System.Reflection.Assembly.LoadFile(String path)
bei Microsoft.VisualStudio.TestTools.UITest.Framework.UITestExtensionPackageManager.LoadAssembly(String assemblyFile)
</StackTrace>
</ErrorInfo>
</Output>
</UnitTestResult>
</Results>
那么现在缺少什么大会?它没有被提及。
提前致谢