我读到了关于何时使用断言的答案,这主要是说使用它来进行生产中关闭的测试:Appropriate use of assert
(Oracle文档说As an added benefit, assertions serve to document the inner workings of your program, enhancing maintainability.
这是有道理的,但我不清楚为什么它添加的好处而不是仅> 好处。)
我的想法是:
- 如果您想在开发过程中检查某些事情是否会发生?#34;但是关闭生产中的检查,看起来它可以作为测试边缘情况的单元测试的一部分。
- 我可以看到在经历了大量手动测试的开发环境中进行断言的一些好处,因此您可以获得一个好处,即边缘情况出现并且断言捕获它。但是,由于依赖于此而不是单元测试意味着您无法保证测试该边缘情况,您也无法保证它将永远不会发生"在生产中。因此,我更喜欢使用try / if,以防它在生产过程中出现。
- 因此,留下看似非常狭窄的用例集 - 当你无法编写有效的测试时断言,但非常自信它不会出现在生产中,您非常关心这部分代码的性能。
我误解了什么?提前感谢您的帮助:)