C# 测试c+时的代码覆盖率+;使用c编写代码#

C# 测试c+时的代码覆盖率+;使用c编写代码#,c#,c++,unit-testing,dll,code-coverage,C#,C++,Unit Testing,Dll,Code Coverage,情况如下: 我在C语言编写单元测试,调用C++编写的函数,CLI调用C++编写的函数。 C++/CLI代码和C++代码的解决方案与C代码中的一个不同。 单元测试成功运行 但是,它只为C#模块提供代码覆盖率分析。C++/CLI代码的DLL及其PDB文件都与单元测试DLL位于同一文件夹中。(C++代码没有DLL,它有一个LIB文件)。 P>我应该做什么才能获得C++/CLI和C++代码的代码覆盖率分析?< p>如果你提到VisualStudio的代码覆盖范围,它应该与C++一起工作。我认为你需要把

情况如下:

我在C语言编写单元测试,调用C++编写的函数,CLI调用C++编写的函数。 C++/CLI代码和C++代码的解决方案与C代码中的一个不同。 单元测试成功运行

但是,它只为C#模块提供代码覆盖率分析。C++/CLI代码的DLL及其PDB文件都与单元测试DLL位于同一文件夹中。(C++代码没有DLL,它有一个LIB文件)。
<> P>我应该做什么才能获得C++/CLI和C++代码的代码覆盖率分析?

< p>如果你提到VisualStudio的代码覆盖范围,它应该与C++一起工作。我认为你需要把C++源代码作为解决方案的一部分,以便特定的运行会添加钩子并收集覆盖信息。

< P>如果你指的是VisualStudio的代码覆盖范围,它应该与C++一起工作。我认为您需要C++源代码作为解决方案的一部分,以便特定的运行将添加钩子并收集覆盖信息。

您需要为覆盖率编写本机代码<代码> vSntru.Exe-覆盖< <代码>,然后使用<代码> vsPrimuns/Cuff>在单元测试运行时捕获覆盖率。这将使您获得纯本机覆盖率。谢谢,当我尝试插入本机代码(.dll文件)时,我得到错误:错误VSP1033:文件“XXX.dll”不包含可识别的可执行映像。我应该怎么做才能解决这个问题?您需要为覆盖率
vsinstr.exe-coverage
插入本机代码,然后在单元测试运行时使用
vsperfmon
捕获覆盖率。这将使您获得纯本机覆盖率。谢谢,当我尝试插入本机代码(.dll文件)时,我得到错误:错误VSP1033:文件“XXX.dll”不包含可识别的可执行映像。我应该怎么做才能解决这个问题呢?谢谢,这正是我所做的(本机代码的.dll文件甚至.pdb文件与单元测试在同一个目录中),但是当我在单元测试上运行代码覆盖率分析器时,它只分析c代码,没有提到本机代码(它不分析本机.dll),谢谢,这正是我所做的(本机代码的.dll文件甚至.pdb文件与单元测试在同一个目录中),但当我在单元测试上运行代码覆盖率分析器时,它只分析c代码,而没有提到本机代码(它不分析本机.dll)