NCover,TypeMock和MSTest
时间:2020-03-05 18:48:06 来源:igfitidea点击:
有没有人让NCover,TypeMock和MSTest可以一起工作?如果是这样的话。
我现在已经进行了2到3次认真尝试,但无法使其正常工作。
我正在使用MSTest 9,NCover 2.1和TypeMock 4.1.
理想情况下,我想从MSBuild任务运行它们。
干杯
垫
解决方案
回答
有点晚了,但这是子孙后代的答案...
几个关键点:
- 在较旧版本的Typemock(例如4.1)中,我们需要企业许可证才能在NCover上运行Typemock。在当前版本中,所有许可证都具有相同的功能列表。
- 为了与其他探查器一起运行Typemock,我们需要使用Typemock的链接功能。我们可以使用Typemock MSBuild任务来完成。
- 我们需要使用/ noisolation参数运行MSTest。这将阻止MSTest生成实际上将运行测试的VSTestHost.exe进程。这就产生了一个问题,即启用了使分析器正常工作所需的环境变量
在下面的示例中,我正在Tests.dll中运行测试,并要求提供有关ClassLibrary.dll的覆盖率报告
<?xml version="1.0" encoding="utf-8"?> <Project DefaultTargets="RunTests" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Import Project ="c:\Program Files\Typemock\Isolator.2\TypeMock.MSBuild.Tasks" /> <PropertyGroup> <NCOVER>"E:\src\TypeMock\Build\Binaries\NCover\NCover 2.0\NCover.Console.exe"</NCOVER> <MSTest>"C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\MSTest.exe"</MSTest> </PropertyGroup> <Target Name ="Test"> <TypeMockStart Target="2.0" Link ="NCover2.0"/> <Exec ContinueOnError="true" Command="$(NCOVER) //a ClassLibrary $(MSTest) /noisolation /testcontainer:E:\src\TestNcover3\MSBuildTest\bin\Debug\Tests.dll" /> <TypeMockStop/> </Target> </Project>