【发布时间】:2019-03-03 11:46:13
【问题描述】:
System.Diagnostics.Debugger.Break(); // this DB call has not been mocked
我想将这些放在 I/O 调用站点的代码中,让单元测试开发人员知道他们何时没有正确模拟调用,但我不想产生新问题。
在编译为 Release 时调用 Debugger.Break() 有影响吗?
执行 Debug 构建但不调试时是否有任何影响?
【问题讨论】:
-
1.是的。 2. 是的。或者说详细一点;) 1. 它适用于所有配置。 2. 如果尚未附加调试器,它会要求附加调试器。
-
如果没有附加调试器(自 .NET 4 起),您甚至不会收到异常吗?您只能在调试版本中添加它:
#if DEBUG Debugger.Break(); #endif -
@OverlordZurg 不符合the comments in the source。
-
@OverlordZurg docs.microsoft.com/en-us/dotnet/api/… "如果没有附加调试器,系统会询问用户是否要附加调试器。"
-
@AndyJ 没错。如果您想要甜蜜的信用,请作为答案提交