“编写测试时你是如何思考的?”——其实比你想象的要简单。
在本期节目中,我们将回答一位社区成员提出的重要问题。
问题
“我想了解你编写测试时的思路。你是想把所有想到的情况都涵盖进去,还是会列出优先级清单?或者你只是力求达到最大的覆盖率?”
回答
我们遵循基本原则。我们的主要流程是先编写测试,观察测试是否失败(红色),然后编写最少的代码使测试通过(绿色),最后*如果需要*重构代码/测试。通过遵循这个流程,我们最终获得了相当高的代码覆盖率(并非总是 100%,但非常接近)。代码覆盖率并非我们的直接目标,它更像是遵循该流程的一个积极结果。
话虽如此,始终先编写测试需要自律和技巧。一开始你可能会遇到困难。我们多年来一直这样做,但有时仍然会遇到困难!然而,我们的目标绝不是长时间陷入困境。那样会浪费时间。归根结底,发布比先测试更重要。
当你遇到瓶颈时,不妨大胆尝试各种想法。不要受测试(或其他任何因素)的束缚,尽情发挥。反复修改代码(使用 Xcode Playgrounds、Swift REPL、调试工具等等),直到找到令你满意的解决方案。然后思考:“既然我已经知道要构建什么,我当初应该如何先编写测试呢?”
当你找到答案后,就可以放弃临时解决方案(将临时解决方案提交到单独的临时分支),然后重新开始,先编写测试。下次遇到类似问题时,你就知道如何先测试后开发,而无需临时开发。
我们每天练习、学习,每天都进步一点点。日复一日的练习会带来累积效应!
立即订阅我们的YouTube频道,每周免费观看最新剧集。
我们一直致力于帮助敬业的开发者从低薪工作晋升到高薪职位——有时只需几周时间!为此,我们持续开展并免费分享市场调研,探讨如何从同理心、诚信和经济效益三个方面提升您的技能。如果您想在职业生涯中更上一层楼,现在就免费获取我们最新的调研报告吧!
文章来源:https://dev.to/essentialdeveloper/how-do-you-think-when-writing-tests--its-simpler-than-you-may-think-4ojk