前言
这是一本关于为Vue应用程序编写自动化测试的书。这本书的大部分内容集中在单元测试上,因为单元测试组件的技术是Vue所特有的。我还分别花了两章篇幅解释快照测试和端到端测试。
本书的目的是教你编写一套健壮的自动化测试,以验证Vue应用程序是否正确工作。我将教你一些我认为最有效的测试技巧和方法。
哪些人应该阅读本书
本书是为希望提高测试技能的Vue开发人员编写的。本书面向有经验的Vue开发人员和初学者,没有Vue经验的开发人员应该在阅读本书之前先学习基础知识。
本书的组织结构
本书共分为14章:
·第1章介绍自动化测试和Vue框架。
·第2章介绍单元测试。在这一章中,你将设置Jest来编译Vue单文件组件并编写你的第一个单元测试。
·第3章讨论编写单元测试来检查组件输出。
·第4章会解释如何测试方法。你将学习如何使用存根来测试组件方法,如何测试使用了定时器函数的代码,以及如何测试从其他模块导入复杂函数的组件。
·第5章讨论测试事件。它包括测试原生DOM事件和自定义Vue事件。
·第6章将介绍Vuex。Vuex是一个复杂的话题,所以本章是第7章的入门,你将学习如何测试Vuex。
·第7章介绍如何测试Vuex。它包含测试了Vuex store,以及与Vuex store连接的组件。
·第8章讨论了使用工厂函数来优化测试文件结构。
·第9章介绍Vue Router以及如何把它添加到项目中。
·第10章研究如何测试使用了Vue Router的组件。
·第11章讨论了测试mixin和过滤器(filter),以及测试使用它们的组件。
·第12章研究快照测试。
·第13章描述了如何测试服务器渲染的应用程序中的代码。
·第14章通过端到端测试的教学来完成本书,进而完成你的测试。
尽管我已经确保每一章都可以拿出来单独阅读,但最好从头至尾阅读本书。本书通过从头构建一个Hacker News应用程序来教授测试,因此你将从零开始学习测试大型应用程序的过程。如果按顺序阅读本书,你将能够看到为应用程序编写测试和代码的整个过程。不过我已将每章中的代码包含在本书中,编写代码清单的目的是使它们在没有Hacker News应用程序更广泛上下文的情况下仍有意义。
关于代码
在本书中,你将从零构建一个Hacker News应用程序,其中只有第5章使用了不同的代码库。所有的代码都可从华章网站http://www.hzbook.com的本书页面中下载。同时在GitHub上也可以获取,你可以遵循附录A的指导找到这个仓库。每一章都有包含当前代码的Git分支,因此你可以借助分支来查看上一章Hacker News的代码。
GitHub需要使用Git,所以你需要安装它才能读取仓库。你需要使用Node来运行测试以及应用程序代码。你也需要安装Java来运行端到端测试。附录A已经包含了安装Node和Java的详细信息。