单元测试 依赖注入
您是否曾经想为代码编写单元测试,但发现这样做很难? 通常这是由于不考虑测试而编写代码的结果。 解决此问题的一种简单方法是利用测试驱动的开发 ,这种开发过程是您在应用程序代码之前编写测试。
但是,即使您不喜欢测试驱动的开发,也可以通过采用一种简单的技术( 依赖项注入)使代码更易于测试,我们将在本文中进行讨论。
什么是依赖注入?
依赖注入是一种非常简单但功能非常强大的技术。 简而言之,该功能不是将其依赖项硬编码到其中的功能,而是允许使用该功能的开发人员通过参数将其所需的任何依赖项传递给它。
为了帮助巩固概念,让我们一起看一个示例。
解析Cookie字符串
![](https://i-blog.csdnimg.cn/blog_migrate/d75de454a562bddbe19e0ad15782e8d2.png)
假设您要编写一个JavaScript函数,该函数可以从document.cookie
字符串中解析出各个Cookie键/值对。
例如,假设您要检查是否存在一个名为enable_cool_feature
的cookie,并且其值为true
,那么您想为该用户浏览网站启用一些很酷的功能。
不幸的是, document.cookie
字符串在JavaScript中使用绝对是糟糕的。 如果我们可以仅使用诸如document.cookie.enable_cool_feature
类的属性值来查找属性值,那就太好了,但是,我们不能。
因此,我们将诉诸编写自己的cookie解析函数,该函数将为一些潜在的复杂基础代码提供简单的外观。
(据记录,这里有多个JavaScript库和程序包已经做到了这一点,因此除非您愿意,否则不要觉得自己需要在自己的应用中重新编写此函数。)
首先,我们可能希望定义一个简单的函数,如下所示: