测试驱动开发:从单元测试到测试套件
在软件开发中,测试是确保代码质量和功能正确性的关键环节。本文将深入探讨测试驱动开发中的多个重要方面,包括避免依赖注入地狱、处理异步测试、系统测试以及创建测试套件等内容。
避免依赖注入地狱
在编写代码时,函数可能会有多个依赖项,随着依赖项的增加,代码会变得难以管理。例如,在编写显示特定用户访问次数的函数时,最初可能有如下代码:
visits = (database, http, user) ->
http.hitsFor database.userIdFor(user.name)
当需要考虑用户数据隐私时,可能会添加一个权限参数:
visits = (database, http, user, permissions) ->
if permissions.allowDataFor user
http.hitsFor database.userIdFor(user.name)
else
'private'
为了解决参数过多的问题,可能会使用选项对象,但这会使函数更难理解。更好的方法是使用部分应用函数,创建一个新的函数来固定部分参数:
makeVisitsForUser = (database, http) ->
(user, permissions) ->
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



