【问题标题】:Visual studio Debugger Copy objectVisual Studio 调试器复制对象
【发布时间】:2014-03-27 14:57:04
【问题描述】:

我想知道是否存在这样的事情:

在 Visual Studio 中调试时,如果它能够将对象(其所有属性和值)复制到内存中,那就太好了。我正在考虑可以在代码中设置断点的方法-> 右键单击​​对象-> 单击“在剪贴板中创建最小起订量”

然后您可以进行单元测试,粘贴将粘贴代码的文本以创建具有所有这些属性的对象。

我想这会节省大量时间,并且对于修复错误非常有用。

我发现单元测试的困难之一是创建模拟对象的手动过程。

【问题讨论】:

标签: unit-testing debugging visual-studio-2012 moq


【解决方案1】:

我参加聚会有点晚了,但我创建了一个 Visual Studio 扩展,它的功能与您正在寻找的非常相似。它将生成 C# 代码来初始化 Visual Studio 调试窗口中的对象。

这是扩展名:Visual Studio Marketplace > Object Explorer

这里附有一篇博文:Exporting Objects from the Visual Studio Debugger

【讨论】:

    【解决方案2】:

    如果您发现创建模拟对象很麻烦,则可能是您的设计或使用模拟对象的方式存在问题。您不应该为简单的“值”对象创建模拟 - 只需在单元测试中使用实际对象。对于与您的被测对象交互的更复杂的对象,交互应该很少,否则您可能会在对象之间产生过度耦合。根据经验,如果很难测试,则设计可能是错误的。

    【讨论】:

    • 我认为这句话适用于绿地项目。但是,我在一个没有太多单元测试方式的现有系统中工作,目前我没有太多时间进行重构。系统内的问题解决领域意味着逐步完成大量耗时的工作。我会考虑将其用作调试工具,这样可以节省时间并帮助过渡到具有更多单元测试的系统。
    • 好的,使用遗留代码是一种不同的情况!简短的回答:我不知道从调试器中生成模拟代码的任何东西。长答案:Michael Feathers 的 Working Effectively With Legacy Code 对处理遗留代码测试的其他方法有很好的建议。 amazon.com/Working-Effectively-Legacy-Michael-Feathers/dp/…
    猜你喜欢
    • 2011-02-25
    • 1970-01-01
    • 2013-09-18
    • 1970-01-01
    • 2010-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多