Page 242 - AngularJS权威教程
P. 242

222  第 19 章  测试


             19.4.2  端到端测试

                 另一方面,也可以对我们的应用作黑盒测试(也就是端到端测试)。在端到端(E2E)测试
             中,我们测试应用的视角是:作为最终用户,对系统的底层实现一无所知。这种方法非常适合测
             试大型应用的功能。
                 端到端测试适合测试页面上的用户交互,无需手动刷新页面。

                 关于这类测试的介绍并不新鲜,还有些了不起的工具,能使我们建立自动化的浏览器测试。
             我们可以使用工具如PhantomJS或CasperJS来进行无头浏览器测试(即不必打开浏览器),或Karma
             等工具,会真正将打开一个浏览器并在一个iframe中执行所有的测试。

                 何时选择端到端测试

                 当我们编写用例功能的测试时,顺着用户的思路去写测试总是不错的。端到端测试意义重大,
             因为它映射了用户在使用我们应用时的真实体验。

                 例如,当建立一个用户登录流程时,我们要测试用户登录进来并且重定向到了他的主页。我
             们并不关心用户是怎样登录进来的,我们只关心他们登进来,然后跳转到恰当的位置。

                     想象一下你正在构建一个火箭船。端到端测试不在乎发动机或起落架,它只关心火
                 箭起飞,把你的宇航员送上太空。

                 Karma测试运行器同时支持单元测试和端到端测试。



                         注意,编写单元测试而不是端到端测试将使我们的测试速度飞快。把测试设置
                        成同步执行,使用模拟库,也将大大加速我们的测试。



             19.5 开始

                 要运行我们的测试,需要安装Karma测试运行器。读到这的时候,你应该已经装了NodeJS 和
                                                                                             ①
             npm了吧,要是还没有,快去装吧。安装好之后,我们就可以用npm命令来安装Karma了:

                  $ npm install -g karma


                         我们将把依赖关系保存在package.json文件中。如果要在npm已安装的情况下设
                        置package.json,直接运行npm init,跟着向导走一遍就行了。

                 要开始测试我们的应用,需要为应用代码和测试代码设置一个合理的结构。

                 推荐用下面的格式存储应用的文件:

                 app/
                   index.html
                   js/
                     app.js
                     controllers.js
             ——————————
                ① http://nodejs.org
   237   238   239   240   241   242   243   244   245   246   247