持续轻量级Java EE开发:编写可测试的代码

持续轻量级Java EE开发:编写可测试的代码 下载 mobi epub pdf 电子书 2024


简体网页||繁体网页
[美] Andrew Lee Rubinger(安德鲁·李·鲁宾格),Aslak Knutsen(阿斯 著,崔婧雯 译



点击这里下载
    


想要找书就要到 图书大百科
立刻按 ctrl+D收藏本页
你会得到大惊喜!!

发表于2024-11-05

类似图书 点击查看全场最低价

图书介绍

出版社: 电子工业出版社
ISBN:9787121306488
版次:1
商品编码:12054157
包装:平装
开本:16开
出版时间:2017-02-01
用纸:胶版纸
页数:264
字数:318000


相关图书





图书描述

内容简介

  如今,测试已不再是企业发展中的"可选”部分,其必将成为企业发展壮大的核心武器。本书旨在指导读者使用测试平台进行持续开发。本书首先阐述了测试在企业发展中的重要性,然后大篇幅地分析了一些用户在发展中会遇到的共性问题(例如,如何引导新项目及验证用户界面)的解决方案,最后,指导用户了解如何构建一个终端到终端的测试方式。

目录

序. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v

前言. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xix


第1 章持续性. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

预防的真理1

被动的错误处理1

主动的质量策略2

软件开发流程3

串行模型3

迭代模型3

测试即开发5

测试的分级5

单元测试6

集成测试7

基础测试框架8

JUnit 9

TestNG 12

持续开发13

第2 章启动技术. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

Bootstrapping 15

Apache Maven 16

JBoss Forge 17

版本控制18

Git 19

Java EE 的测试平台20

Arquillian 21

ShrinkWrap 22

ShrinkWrap Resolvers 27

实验性功能35

运行时36

WildFly 36

OpenShi�� 37

进入编程38

第3 章从零到生产. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

开发环境39

一个新项目40

用Arquillian 编写第一个集成测试48

在本地运行应用程序52

运行Arquillian 集成测试54

通过JBoss Developer Studio 部署到OpenShi�� 上55

第4 章需求和示例应用程序. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

GeekSeek 介绍64

功能集64

概念数据模型65

逻辑数据模型66

获得,构建,测试和运行GeekSeek 68

用例和章节指南73

第5 章Java 持久化和关系型数据73

第6 章NoSQL:数据网格和图数据库74

第7 章业务逻辑和服务层74

第8 章REST 和可寻址服务74

第9 章安全性74

第10 章UI 75

第11 章组装及部署75

第5 章Java 持久化和关系型数据. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

关系型数据模型79

Java 持久化API 81

POJO 实体82

用例和需求83

用户角度83

技术考虑84

实现85

实体对象86

存储库EJB 91

需求测试场景93

测试搭建94

CRUD 测试95

第6 章NoSQL:数据网格和图数据库. . . . . . . . . . . . . . . . . . . . . . . . . . . 101

RDBMS:不擅长处理二进制数据102

数据网格103

RDBMS:不善长处理关系104

图论105

用例和需求106

实现107

Attachment 107

Relation 111

需求测试场景120

Attachment CRUD 测试120

Attachment 持久化的事务完整性124

验证关系128

第7 章业务逻辑和服务层. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131

用例和需求132

新用户注册时发送邮件133

实现133

需求测试场景139

仅供测试所用的SMTP 服务器139

测试142

第8 章REST 和可寻址服务. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149

企业Java 里的REST:JAX-RS 规范152

用例和需求155

实现158

存储库资源158

描述转换器162

@ResourceModel 164

LinkableRepresentation 166

ResourceLink 169

需求测试场景170

黑盒测试170

验证支持Warp 的HTTP 协定173

Arquillian Warp 173

测试装置搭建175

HTTP 协定测试176

第9 章安全性. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179

用例和需求180

实现180

支撑软件180

需求测试场景189

综述189

搭建189

安全测试190

第10 章用户界面. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199

用例和需求199

实现200

需求测试场景202

纯JavaScript 203

功能性行为205

第11 章组装及部署. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213

获得JBoss EAP 213

在JBoss EAP 上运行215

使用EAP 远程容器215

使用EAP 托管容器217

持续集成和授权Build 服务器220

在CloudBees 上配置GeekSeek Build 220

使用EAP 存储库布局CloudBees Jenkins 222

Git Push 事件的自动构建225

推送到过渡和生产环境226

搭建OpenShi�� 应用程序226

移除默认OpenShi�� 应用程序229

从CI Build 推送Job 到OpenShi�� 230

第12 章结语. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233


精彩书摘

即使是古老的J2EE 也绝不仅仅是关于开发的。

从企业Java 的出现开始,就有了严格定义的整体角色概念。组件提供者、组装者、系统管理员和服务器提供者,都有清晰且独特的职责,但是这些角色在真实世界里很少有真正的支撑。因为政策和组织结构的原因,开发人员通常需要承担所有这些角色的职责,可能的例外也只是系统管理和运维。开发人员的首要目标是开发,因此上述意图良

好的角色划分很快就没有意义了。

在“真实世界”里,特定的运维部门负责维护开发周期的成果,尝试安装、运行、保持应用在线。因此这里真正起作用的是人为划分的模型,但是它和最佳方式相去甚远。有时情况会尤其糟糕,签署文档甚至会比产品质量更加重要。

如果你只对快速hack 感兴趣,那么肯定会厌恶Java EE 和应用服务器,也很可能会因此讨厌这本书。如果你只关注于开发,那么打包、部署、监控和管理听上去就是多此一举。

但是,“DevOps”将运维和开发看作一个单独单元。谁会需要漂亮,却无法在预定义环境里正常部署的代码呢?DevOps 并不是什么开创性的事物,相反,它是“回到初心”的倡导。

本书不仅契合DevOps 的理念,还编程式地展现了如何从零开始构建一个Java EE 应用程序,并且填补了Java EE 规范的空白之处。本书还用具体的代码深入地阐述了项目和归档创建的自动化、Maven build 在流程里的编程式集成,以及所有级别的测试。本书不仅关注最佳实践,而且向读者展示了如何测试难以测试的场景,包括SMTP 服务器和消息驱动Bean 的样例。

虽然本书介绍的工具、库函数和框架都是由Red Hat 公司的员工发起的,但是即使你完全没有用过JBoss 或者WildFly,这本书也会很有价值。实际上,我同时在GlassFish和TomEE 上使用Arquillian、ShrinkWrap 和Forge 来测试应用程序,并且,我在研讨会(http://airhacks.com)里使用了Arquillian 测试插件、扩展和复杂的依赖注入,而无须将mock 部署到生产归档里。

在飞往旧金山的JavaOne 2013 大会的途中,我阅读了这本书,它非常有意思,让我学到了很多。希望所有人都能从这本书中有所收获——享受轻量级Java EE 开发的生命周期!

——Adam Bien

http://adam-bien.com


前言/序言

  即使是古老的J2EE 也绝不仅仅是关于开发的。

  从企业Java 的出现开始,就有了严格定义的整体角色概念。组件提供者、组装者、系统管理员和服务器提供者,都有清晰且独特的职责,但是这些角色在真实世界里很少有真正的支撑。因为政策和组织结构的原因,开发人员通常需要承担所有这些角色的职责,可能的例外也只是系统管理和运维。开发人员的首要目标是开发,因此上述意图良好的角色划分很快就没有意义了。

  在“真实世界”里,特定的运维部门负责维护开发周期的成果,尝试安装、运行、保持应用在线。因此这里真正起作用的是人为划分的模型,但是它和最佳方式相去甚远。有时情况会尤其糟糕,签署文档甚至会比产品质量更加重要。

  如果你只对快速hack 感兴趣,那么肯定会厌恶Java EE 和应用服务器,也很可能会因此讨厌这本书。如果你只关注于开发,那么打包、部署、监控和管理听上去就是多此一举。

  但是,“DevOps”将运维和开发看作一个单独单元。谁会需要漂亮,却无法在预定义环境里正常部署的代码呢?DevOps 并不是什么开创性的事物,相反,它是“回到初心”的倡导。

  本书不仅契合DevOps 的理念,还编程式地展现了如何从零开始构建一个Java EE 应用程序,并且填补了Java EE 规范的空白之处。本书还用具体的代码深入地阐述了项目和归档创建的自动化、Maven build 在流程里的编程式集成,以及所有级别的测试。本书不仅关注最佳实践,而且向读者展示了如何测试难以测试的场景,包括SMTP服务器和消息驱动Bean 的样例。

  虽然本书介绍的工具、库函数和框架都是由Red Hat 公司的员工发起的,但是即使你完全没有用过JBoss 或者WildFly,这本书也会很有价值。实际上,我同时在GlassFish和TomEE 上使用Arquillian、ShrinkWrap 和Forge 来测试应用程序。并且,我在研讨会(http://airhacks.com)里使用了Arquillian 测试插件、扩展和复杂的依赖注入,而无须将mock 部署到生产归档里。

  在飞往San Francisco 的JavaOne 2013 大会的途中我阅读了这本书,它非常有意思,让我学到了很多。希望所有人都能从这本书中有所收获——享受轻量级Java EE 开发的生命周期!

  -Adam Bien http://adam-bien.com(http://adam-bien.com)



  简约是复杂的最终形式。

  ——Leonardo DaVinci

  现代Web 软件开发的发展日新月异。近些年,大家看到了客户端状态向服务器端移动的趋势,现在又在往回自我纠正。虽然JavaScript 的作用明显,但是关于其价值,两个工程师可能会给出三个意见。HTML5 开创了在浏览器里支持富媒体和并发的新时代。在颇具实力的NoSQL 系统的挑战下,统治业界40 年之久的关系数据模型开始有些过时,同时版本控制存储也经历了实现和范式的改革。

  可用的工具正在不断变化,要从中做出选择难免会眼花缭乱。

  同时,工程师们也面临着构建多用户程序所带来的巨大挑战。大家都喜欢简洁、易于维护的代码,需要代码能够高效并且安全地运行,工程师们必须保证代码的正确性。

  在Java 的世界里,很多答案来自于伴随Java 企业版(Java Enterprise Edition)发布的一系列规范。这项努力的首要目标仍然是:隐藏软件开发固有的复杂语法,并且尝试根据需求提供清晰的标准模型。换句话说,Java EE 平台包括很多不断演变的工具包,而其中一个可能不太可靠。

  因此几年后,大家开始填补那些Java EE 没有规范的漏洞,最终掌握了一个可以激发想象力,并且经证明比最初设想更为灵活的测试框架。很明显,为了充实想法以便更好地分享所收获的经验教训,并不需要罗列任何特别的技术。开发人员一直想拥有一张详尽的地图,能够帮助理解Java EE,及其附属框架和服务。

  本书不会详细介绍某个规范,这些资料可以在别处找到,因为本书认为通过解决方案(Solution)来开始学习并没有太大意义。

  相反,本书从问题(Problem)开始。我们为企业级Java 的可测试开发选择了以用例为中心的方案,并且在一些理论探索和必要的背景介绍之后,每章都会解决一个高层次的问题。本书提出的解决方案涵盖范围从用户界面到持久化存储,并且会涉及许多标准和第三方项目。所有示例都是可执行的,还可以在相关网站的生产环境上运行从而加以验证。

  新手能够借助本书达到企业级Java 开发人员的水平, 能够从零开始将一个空白存储库建设成完整部署在公有云之上的公开应用程序。各种程序员都能够从本书中找到极具吸引力的方法,用来测试种子数据,向客户端推送事件,与分布式数据网格交互,验证用户界面,等等。

  很简单,本书的目标是将复杂的事情变得简单些。幸运的是,这会带来更高的工作效率和更多的乐趣。

  至少,这是我们采用本书中提到的技术时得到的经验。

  本书使用的排版约定

  如下是本书中使用的排版规范:

  斜体表示新名词、UR、电子邮件地址、文件名、文件扩展名。

  等宽体用于程序列表,以及在段落中引用的程序元素,比如变量、函数名称、数据库、数据类型、环境变量、语句和关键字。

  等宽粗体显示命令或其他应该由用户键入的文本。

  等宽斜体显示应该由用户提供的值或上下文确定的值所替换的文本。

  该图标表示小窍门或者建议。


  前言

  该图标表示一般注解。

  该图标表示警告或者注意事项。

  使用代码示例

  从http://continuousdev.org可以下载辅助资料(代码示例、练习等)。第第4 章章里有详细介绍。

  本书帮助读者完成自己的工作,所有内容使用Creative Commons Attribution-ShareAlike2.0 Generic(http://creativecommons.org/licenses/by-sa/2.0/)许可证,本书邀请社区贡献了很多工作,包括特性请求、印刷错误勘正,并且通过GitHub Issue Tracker(http://bit.ly/1e7kQRD)改进加强。读者可以在遵守许可证的前提下重用所有文本或者示例,但需要注明出处。更多细节请查看许可证。

  出处通常包括标题、作者、出版社和ISBN。例如:“Andrew Lee Rubinger 和AslakKnutsen 撰写的Continuous Enterprise Development in Java(O’Reilly)。Copyright 2014Andrew Lee Rubinger and Aslak Knutsen, 978-1-449-32829-0.”

  Safari? Books Online

  Safari Books Online(http://my.safaribooksonline.com/?portal=oreilly)是按需的数字图书馆,以书籍和视频的形式,提供来自技术和商业领域的世界顶级作家的专业内容。

  技术专家、软件开发人员、web 设计师以及业务和创新专家将Safari Books Online 作为其主要资源,用来研究、解决问题,学习以及认证培训。

  Safari Books Online 为企业,政府机构和个人提供一系列产品组合和付费项目。订阅者能够访问完整可搜索数据库里的数千本书、培训视频和正式出版前的手稿,涵盖的出版社包括O’Reilly Media、Prentice Hall Professional、Addison-Wesley Professional、Microso�� Press、Sams、Que、Peachpit Press、Focal Press、Cisco Press、John Wiley &Sons、Syngress、Morgan Kaufmann、IBM Redbooks、Packt、Adobe Press、FT Press、Apress、Manning、New Riders、McGraw-Hill、Jones & Bartlett、Course Technology,等等。在线可获得更多有关Safari Books Online 的信息。

  如何联系我们

  请将本书相关的评论和问题发送给出版社:

  O’Reilly Media, Inc.

  1005 Gravenstein Highway N 持续轻量级Java EE开发:编写可测试的代码 下载 mobi epub pdf txt 电子书 格式


持续轻量级Java EE开发:编写可测试的代码 mobi 下载 pdf 下载 pub 下载 txt 电子书 下载 2024

持续轻量级Java EE开发:编写可测试的代码 下载 mobi pdf epub txt 电子书 格式 2024

持续轻量级Java EE开发:编写可测试的代码 下载 mobi epub pdf 电子书
想要找书就要到 图书大百科
立刻按 ctrl+D收藏本页
你会得到大惊喜!!

用户评价

评分

很好。。。。。。。.

评分

内容还可以,还不看。

评分

很好的书值得买

评分

内容还可以,还不看。

评分

很好的内容,要好好学习

评分

内容还可以,还不看。

评分

很好的书值得买

评分

发现买错书了,,,

评分

很好。。。。。。。.

类似图书 点击查看全场最低价

持续轻量级Java EE开发:编写可测试的代码 mobi epub pdf txt 电子书 格式下载 2024


分享链接








相关图书


本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

友情链接

© 2024 book.qciss.net All Rights Reserved. 图书大百科 版权所有