如果我使用mstest.exe生成代码覆盖率,则Dotcover工作正常,但如果我的测试使用MSFakes,则mstest.exe不起作用。所以我别无选择,只能使用vstest.console。 如果我使用Vstest.console,它可以正常使用“带假货的MS测试”,但报告代码覆盖率为0%。 只是为了测试我创建了另一个我不使用MSfakes的单元测试项目,即使对于这个项目,vstest.console报告代码covegare为0%。
我正在使用powershell脚本来自动化单元和集成测试过程。以下是我的代码。我在这里错过了什么?或者这个功能不支持dotcover?
$TestDlls = "D:\project.tests1\bin\Output\Org.Namespace.Domain.Project.Tests.dll","D:\project.tests\bin\output\Org.Namespace.Domain.Project.Tests.dll"
$MsTestExePath = "C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow\Vstest.console.exe"
$dotCoverExePath = "C:\Program Files (x86)\JetBrains\dotCover\v2.7\Bin\dotCover.exe"
$snapshotFileName = "UnitTests.dcvr"
$WorkingDir = Get-Location
$MsTestArgs = $TestDlls + " /inIsolation /Platform:x64 /Framework:Framework45"
exec { & $dotCoverExePath cover /TargetExecutable=$MsTestExePath /TargetArguments=$MsTestArgs /TargetWorkingDir=$WorkingDir /Output=$snapshotFileName }