Chr*_*ris 17 c# mixed-mode unit-testing visual-studio-2013
我在Visual Studio 2013测试框架中进行了C#单元测试,该测试框架运行CLI和本机代码.我想在执行C#单元测试时调查代码的本机部分.但是,运行Test - > Debug - > All Tests运行托管调试器,因此本机代码中的断点不会被命中,我无法跟踪C# - > C++/CLI代码,就像在混合模式调试器下运行程序一样.
例如,我的单元测试中的代码:
[TestMethod]
public void TestRoundTripEvaluate()
{
var obj = new MyCLIObject();
var roundtripped = RoundtripXml( obj );
// I would like to trace into here to see why Equals returns false.
// But the definition for MyCLIObject is in a CPP file and cannot be navigated
// to running the unit test because Visual Studio starts the debugger as "managed only"
// when using Test -> Debug -> All Tests
Assert.IsTrue( obj.Equals( roundtripped ) );
}
Run Code Online (Sandbox Code Playgroud)
查看单元测试项目的项目设置,Debug下的所有内容都被禁用,因此我无法检查启用本机代码调试,这允许正常程序的此行为.
在运行VS C#单元测试时,如何启用混合模式调试或仅本机调试?
Nik*_*Nik 15
我遇到了和你一样的问题,并且能够使用这些步骤使其工作.在启用此复选框之前,它不起作用.为了记录,我正在使用VS2013更新4.

| 归档时间: |
|
| 查看次数: |
2016 次 |
| 最近记录: |