【发布时间】:2019-12-07 12:05:55
【问题描述】:
我们的 TFS CI 构建使用 dotCover 来运行 xUnit 测试。然而,一些测试在那里失败,但在本地他们通过了。
我从 nuget 下载了 dotCover.CommandLineTools 和 xunit.runner.console。解压缩包并尝试在本地运行dotCover cover 命令,就像在 TFS 管道中执行的那样:
.\tools\dotcover.exe cover /TargetExecutable=".\..\xunit-runner\tools\net461\xunit.console.exe"
/TargetArguments="c:\Projects\MySolution\Sources\MyTestProject\bin\Debug\MyTestProject.dll -xml c:/temp/testResultFile.xml"
/Output="c:/temp/coverageResultFile.dcvr"
/Filters='-:module=xunit.*;-:module=*UnitTests*'
得到与 CI 相同的错误。根据我对 dotCover 输出在失败测试中显示的错误的调查,从 VS 本地运行测试并使用 dotCover 运行它们时,模拟数据似乎不同。
有人遇到过这样的问题吗?有什么解决办法吗?
编辑:又试了一件事,运行命令
.\xunit.console c:\Projects\MySolution\Sources\MyTestProject\bin\Debug\MyTestProject.dll 发现这给了我与 CI 相同的错误,因此问题的原因不是 CI,也不是 dotCover,而是 xunit.runner.console。
对此有何新观点?
【问题讨论】:
标签: unit-testing mocking xunit dotcover