构建服务器上的单元测试:发布或调试代码?

Ben*_*ttr 13 c# continuous-integration unit-testing

在.NET(C#)中,单元测试的调试/发布版本是否有任何优势/劣势?

您通常在构建服务器上使用哪种目标配置进行单元测试?有关系吗?

代码覆盖怎么样(对于这个,我猜测需要调试版本).

Jer*_*ing 9

我建议运行发布代码.有几个原因.

1)这是客户将使用的代码.

2)某些代码具有特殊的调试条件,这将在调试和发布版本之间产生差异.


Han*_*ant 8

您必须按照代码最终在客户端计算机上运行的方式来测试代码。在大多数正常的部署场景中,代码将在发布配置中编译。

  • 您知道发布版本还会生成完整的堆栈跟踪吗?如果复制 .pdb 文件,您将获得行号。 (2认同)
  • 当您选择“优化代码”(发布版本中通常是这种情况)时,方法无法内联或稍微移动,这会导致行号引用有些误导? (2认同)