Andrew Lee Rubinger and Aslak Knutsen
Continuous Enterprise
Development in Java
Continuous Enterprise Development in Java
by Andrew Lee Rubinger and Aslak Knutsen
Copyright © 2014 Andrew Lee Rubinger and Aslak Knutsen. All rights reserved.
Printed in the United States of America.
Published by O’Reilly Media, Inc., 1005 Gravenstein Highway North, Sebastopol, CA 95472.
O’Reilly books may be purchased for educational, business, or sales promotional use. Online editions are
also available for most titles (http://my.safaribooksonline.com). For more information, contact our corporate/
institutional sales department: 800-998-9938 or corporate@oreilly.com.
Editors: Mike Loukides and Meghan Blanchette
Production Editor: Kara Ebrahim
Copyeditor: Kim Cofer
Proofreader: Becca Freed
Indexer: WordCo Indexing Services, Inc.
Cover Designer: Randy Comer
Interior Designer: David Futato
Illustrator: Rebecca Demarest
March 2014:
First Edition
Revision History for the First Edition:
2014-03-11: First release
See http://oreilly.com/catalog/errata.csp?isbn=9781449328290 for release details.
Nutshell Handbook, the Nutshell Handbook logo, and the O’Reilly logo are registered trademarks of O’Reilly
Media, Inc. Continuous Enterprise Development in Java, the image of a Violet Turaco, and related trade dress
are trademarks of O’Reilly Media, Inc.
Many of the designations used by manufacturers and sellers to distinguish their products are claimed as
trademarks. Where those designations appear in this book, and O’Reilly Media, Inc. was aware of a trademark
claim, the designations have been printed in caps or initial caps.
While every precaution has been taken in the preparation of this book, the publisher and authors assume
no responsibility for errors or omissions, or for damages resulting from the use of the information contained
herein.
ISBN: 978-1-449-32829-0
[LSI]
Table of Contents
Foreword. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii
Preface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix
1.
Continuity. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
The Zen of Prevention 1
Reactive Error Handling 1
Proactive Quality Policies 2
Software Development Processes 2
Serial Models 3
Iterative Models 3
Testing Is Development 5
Levels of Testing 5
Unit 6
Integration 7
Foundation Test Frameworks 8
JUnit 10
TestNG 12
Continuous Development 13
2.
Enabling Technologies. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Bootstrapping 15
Apache Maven 16
JBoss Forge 17
Version Control 18
Git 19
A Test Platform for Java EE 20
Arquillian 20
ShrinkWrap 22
ShrinkWrap Resolvers 27
iii