我认为您会遇到此错误,因为您没有将 TypeMock 配置为使用 MSTest 运行测试。如果您尚未在 TeamCity Build Agent 机器中执行此操作,您可以按照以下步骤执行此操作:
- Windows“开始”>>所有程序>>TypeMock文件夹>>隔离器文件夹>>打开隔离器配置
- 在
Profilers/Code Coverage
选项卡下打开的新窗口中,选中复选框Show only available profilers
并在上方的下拉列表中列出 NCover(这是假设您使用 NCover 来分析单元测试用例覆盖率和所有内容)。
- 从下拉列表中选择 NCover,然后单击
Link with TypeMock Isolator
。
通过这个 TypeMock Isolator 也将配置为配置单元测试,我认为我希望您的 TypeMock 禁用问题将得到解决。
编辑:
抱歉说错了。如果您在构建中使用像 NCover 这样的分析器,上述内容将对您有所帮助。
您应该使用以下 MSBuild 使用 MSTest 和 TypeMock 运行测试:
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="RunTests" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<UsingTask TaskName="NCover.MSBuildTasks.NCover" AssemblyFile="C:\Program Files\NCover\Build Task Plugins\NCover.MSBuildTasks.dll" />
<Import Project ="C:\Program Files (x86)\Typemock\Isolator\6.1\TypeMock.MSBuild.Tasks" />
<PropertyGroup>
<MSTest>"C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\MSTest.exe"</MSTest>
</PropertyGroup>
<Target Name ="RunTests">
<TypeMockStart Target="3.5" />
<Exec ContinueOnError="true" Command='$(MSTest) /noisolation "/testcontainer:C:\continuousintegration\root\CTM_VPOFFICEClassLibraries\CTM.VPOffice\CTM.VPOffice Unit Testing\bin\Release\CTM.VPOffice Unit Testing.dll"' />
<TypeMockStop />
</Target>
</Project>
您可以忽略上述示例中与 NCover 相关的内容,如果您在构建过程中没有测试分析,则只需忽略隔离器配置步骤。