有没有办法设置断点并使用NUnit与原生C ++和托管C ++的混合项目一起执行它们?
我将我的SUT(被测软件)配置为静态库(本机C ++) 我将我的单元测试套件作为一个单独的项目配置为一个dll,取决于我之前声明的库。我还添加了所述库作为我的单元测试项目的参考。
我的测试在NUnit中运行良好,断点不起作用。
同样,有没有办法让断点与NUnit一起使用Native / Managed C ++?
答案 0 :(得分:1)
最方便的方法是设置一个自定义工具条目,指定NUnit的路径作为命令。对于VS2003 C#项目,您可以使用 $(TargetPath)作为参数,使用 $(TargetDir)作为初始目录。
使用Visual Studio VS2005,这变得有点困难,因为该版本改变了“目标”宏的含义,因此它们现在指向中间的'obj'目录而不是其中一个'bin'目录中的最终输出。以下是两种版本的替代方案:
$(ProjectDir)$(ProjectFileName)打开VS项目而不是程序集。如果使用此方法,请确保相应地重命名配置文件并将其放在与VS项目文件相同的目录中。
$(ProjectDir)bin / Debug / $(TargetName)$(TargetExt)直接运行程序集。请注意,这需要对路径的一部分进行硬编码,包括配置。
如果要调试测试,请使用Visual Studio Debug |进程...菜单项在启动后附加到NUnit,并在运行测试之前根据需要在测试代码中设置断点。