以前我觉得写测试是浪费时间,我的代码怎么可能有错?直到一次,一个自以为完美的模块被一系列的单元测试炸出无数隐藏的bug。测试,尤其是自动化测试,是一种“反直觉”的思维方式。它要求我们怀着最大的“恶意”去审视自己的作品,想尽办法去破坏它、证明它的不可靠。只有当代码能经受住自己最严苛的拷问,我们才有信心将它交付给别人。测试,是开发者对自己作品的责任心。