关于Debug.Print
声明的最佳做法是什么?
我应该使用Debug.Print
语句丢弃我的课程方法,还是应该完全避免使用Debug.Print
?
如果Debug.Print
语句可以接受,我应该考虑使用Trace.Print
还是EventLog
?
单元测试需要Debug.Print
个语句吗?我可以通过精心编写的单元测试来避免Debug.Print
语句吗?
答案 0 :(得分:5)
Debug.Print
是可以接受的,尤其是因为它们将在您的发布版本中编译出来。然而,使用它“乱丢”代码听起来并不是特别有效或有用。
您可以在调试特定代码区域时添加它。识别出缺陷后,您可以编写单元测试来覆盖案例,修复错误,然后删除对Debug.Print
的调用。
我有时使用并留在代码库中的是Debug.Assert
- 如果我的应用程序不处于预期状态,它就像一个内置断点,这只是一个额外的安全网,同时自动执行和手动测试。
Debug.Print
在单元测试中不是必需的,不应为了单元测试而添加。
答案 1 :(得分:2)
单元测试完全不需要Debug.Print!单元测试的重点是您自动获得测试成功或失败的指示,您不需要为此查找调试打印。
NUnit是一个易于使用的单元测试库。
对于跟踪或日志记录,您不需要使用调试打印来丢弃代码。尝试interception with Castle Windsor或其他支持AOP的框架。
答案 2 :(得分:0)
我从未使用过Debug.Print或Trace.Print。我确实写了大量的单元测试。我从来没有发现我需要将Debug或Trace对象与我编写的单元测试一起使用。不过,我确实尝试进行单元测试。