零、前言
这本书是关于成为一个更好的 JavaScript 开发者。因此,在整个章节中,读者不仅将了解用 Jasmine“习语”编写测试,还将了解用 JavaScript 语言编写软件的最佳实践。它是关于承认 JavaScript 是一个真正的应用开发平台,并充分利用它的所有潜力。它是关于工具和自动化,以及如何让你的生活更容易和更有成效。
最重要的是,这本书不仅是关于生产工作软件的工艺,也是关于生产制作精良的软件的工艺。
Jasmine JavaScript Testing 这本书是编写和自动化 web 应用 JavaScript 测试的实用指南。它使用 Jasmine 花、西农等技术。JS、RequireJS 和 Grunt。
在这几章的过程中,通过开发一个简单的股票市场投资跟踪应用来解释测试驱动开发的概念。它从测试的基础开始,通过开发基本的域类(如 Stock 和 Investment),通过可维护的浏览器代码的概念,并以对具有 RequireJS 依赖关系管理和自动化构建的主干. js 应用的完整重构结束。
这本书涵盖了什么
第 1 章Jasmine 入门,讲述了测试一个 JavaScript 应用背后的动机。它介绍了 BDD 的概念,以及它如何帮助您编写更好的测试。它还展示了下载 Jasmine 并开始编写您的第一个测试是多么容易。
第 2 章你的第一个规范说明,帮助你学习在测试驱动开发中思考背后的思维过程。您将编写由测试驱动的第一个 JavaScript 功能。您还将学习 Jasmine 的基本功能,以及如何构建测试。它还演示了 Jasmine 匹配器是如何工作的,以及如何创建自己的匹配器来提高测试的代码可读性。
第三章、测试前端代码,介绍了编写可维护浏览器代码的一些模式。您将学习组件思维,以及如何使用模块模式来更好地组织源文件。还将向您展示 HTML 装置的概念,以及如何使用它来测试您的 JavaScript 代码,而不需要您的服务器呈现一个 HTML。您还将了解一个名为 Jasmine jQuery 的 Jasmine 插件,以及它如何帮助您使用 jQuery 编写更好的测试。
第 4 章、异步测试–AJAX,讲述了测试 AJAX 请求的挑战,以及如何使用 Jasmine 测试任何异步代码。您将了解 NodeJS,以及如何创建一个非常简单的 HTTP 服务器作为测试的固定设备。
第五章、Jasmine 探子,介绍了测试替身的概念以及如何使用探子进行行为检查。
第 6 章、光速单元测试,帮助您了解 AJAX 测试的相关问题,以及如何通过使用 Stubs 或 Fake(如 SinonJS Fake Server)让您的测试运行得更快。
第 7 章、测试 Backbone.js. js 应用,介绍 Backbone.js. js 的四个基本抽象,以及如何向 Backbone.js. js 应用编写测试。使用 Backbone.js 时,您将了解测试什么,以及不测试什么
第八章打造自动化,为您呈现自动化的力量。您将了解 RequireJS,以及它如何帮助您组织大型 JavaScript 应用的依赖关系。您将开始思考模块及其依赖关系,并学习如何将测试编码为模块。您还将学习打包和缩小代码以用于生产,以及如何自动化这个过程。然后,您将使用 PhantomJS 在没有浏览器窗口的情况下运行您的所有测试,甚至是如何在任何文件更改时自动运行它们。
第 9 章、结论,讲述了 JavaScript 生态系统中测试和工具的未来。
第 10 章、测试 jQuery 插件,介绍了 jQuery 插件的概念以及如何使用 Jasmine 做驱动开发自己的插件。此奖励章节可在以下链接获得:http://www . packtpub . com/sites/default/files/downloads/7204 OS _ Testing _ jQuery _ plugins . pdf。
第 11 章、与 Travis CI 的持续集成,教你如何使用 Travis CI 为 JavaScript 应用设置持续集成环境。此奖励章节可通过以下链接获得:http://www . packtpub . com/sites/default/files/downloads/7204 OS _ Continuous _ Integration _ with _ Travis _ ci . pdf。
第 12 章、未来:Jasmine 2.0 ,让你一窥主要变化是什么,以及如何向即将发布的 Jasmine 2.0 进行增量迁移。该奖励章节可在以下链接获得:http://www . packtpub . com/sites/default/files/downloads/7204 OS _ The _ Future _ Jasmine _ 2 _ 0 . pdf。
这本书是给谁的
这本书是对单元测试概念不熟悉的 web 开发人员的必备资料。它假定了 JavaScript 和 HTML 的基本知识。
惯例
在这本书里,你会发现许多区分不同种类信息的文本风格。以下是这些风格的一些例子,以及对它们的含义的解释。
文本中的码字如下所示:“Jasmine 提供了另一个名为beforeEach
的全局函数。”
代码块设置如下:
describe("Investment", function() {
it("should be of a stock", function() {
expect(investment.stock).toBe(stock);
});
});
当我们希望将您的注意力吸引到代码块的特定部分时,相关的行或项目以粗体显示:
describe("Investment", function() {
it("should be of a stock", function() {
var investment = new Investment();
expect(investment.stock).toBe(stock);
});
});
任何命令行输入或输出都编写如下:
# npm install -g requirejs
新名词和重要词语以粗体显示。
注
警告或重要提示会出现在这样的框中。
类型
提示和技巧是这样出现的。
读者反馈
我们随时欢迎读者的反馈。让我们知道你对这本书的看法——你喜欢或可能不喜欢什么。读者反馈对我们开发您真正能从中获得最大收益的标题非常重要。
要给我们发送一般反馈,只需向<[feedback@packtpub.com](mailto:feedback@packtpub.com)>
发送电子邮件,并通过您消息的主题提及书名。
如果你对某个主题有专业知识,并且对写作或投稿感兴趣,请参阅我们在www.packtpub.com/authors上的作者指南。
客户支持
现在,您已经自豪地拥有了一本书,我们有许多东西可以帮助您从购买中获得最大收益。
下载示例代码
您可以从您在http://www.packtpub.com的账户中下载您购买的所有 Packt 书籍的示例代码文件。如果您在其他地方购买了这本书,您可以访问http://www.packtpub.com/support并注册,以便将文件直接通过电子邮件发送给您。
勘误表
尽管我们尽了最大努力来确保我们内容的准确性,但错误还是会发生。如果你在我们的某本书里发现了错误——可能是文本或代码中的错误——如果你能向我们报告,我们将不胜感激。通过这样做,你可以让其他读者免受挫折,并帮助我们改进这本书的后续版本。如果您发现任何勘误表,请访问http://www.packtpub.com/support,选择您的书籍,点击勘误表 提交 表格链接,并输入您的勘误表详情。一旦您的勘误表得到验证,您的提交将被接受,勘误表将被上传到我们的网站,或添加到该标题的勘误表部分下的任何现有勘误表列表中。
盗版
互联网上版权材料的盗版是所有媒体的一个持续问题。在 Packt,我们非常重视版权和许可证的保护。如果您在互联网上遇到任何形式的我们作品的非法拷贝,请立即向我们提供位置地址或网站名称,以便我们寻求补救。
请通过<[copyright@packtpub.com](mailto:copyright@packtpub.com)>
联系我们,获取疑似盗版资料的链接。
我们感谢您在保护我们作者方面的帮助,以及我们为您带来有价值内容的能力。
问题
如果您对本书的任何方面有问题,可以在<[questions@packtpub.com](mailto:questions@packtpub.com)>
联系我们,我们将尽最大努力解决。
版权属于:月萌API www.moonapi.com,转载请注明出处