Test-Driven Java Development - Second Edition

This book will teach the concepts of test driven development in Java so you can build clean, maintainable and robust code
Preview in Mapt

Test-Driven Java Development - Second Edition

Alex Garcia, Viktor Farcic
New Release!

This book will teach the concepts of test driven development in Java so you can build clean, maintainable and robust code
Mapt Subscription
FREE
$29.99/m after trial
eBook
$20.00
RRP $39.99
Save 49%
Print + eBook
$49.99
RRP $49.99
What do I get with a Mapt Pro subscription?
  • Unlimited access to all Packt’s 5,000+ eBooks and Videos
  • Early Access content, Progress Tracking, and Assessments
  • 1 Free eBook or Video to download and keep every month after trial
What do I get with an eBook?
  • Download this book in EPUB, PDF, MOBI formats
  • DRM FREE - read and interact with your content when you want, where you want, and how you want
  • Access this title in the Mapt reader
What do I get with Print & eBook?
  • Get a paperback copy of the book delivered to you
  • Download this book in EPUB, PDF, MOBI formats
  • DRM FREE - read and interact with your content when you want, where you want, and how you want
  • Access this title in the Mapt reader
What do I get with a Video?
  • Download this Video course in MP4 format
  • DRM FREE - read and interact with your content when you want, where you want, and how you want
  • Access this title in the Mapt reader
$0.00
$20.00
$49.99
$29.99 p/m after trial
RRP $39.99
RRP $49.99
Subscription
eBook
Print + eBook
Start 14 Day Trial

Frequently bought together


Test-Driven Java Development - Second Edition Book Cover
Test-Driven Java Development - Second Edition
$ 39.99
$ 20.00
Google Cloud Platform for Developers Book Cover
Google Cloud Platform for Developers
$ 35.99
$ 18.00
Buy 2 for $35.00
Save $40.98
Add to Cart

Book Details

ISBN 139781788836111
Paperback324 pages

Book Description

Test-driven development (TDD) is a development approach that relies on a test-first procedure that emphasizes writing a test before writing the necessary code, and then refactoring the code to optimize it.The value of performing TDD with Java, one of the longest established programming languages, is to improve the productivity of programmers and the maintainability and performance of code, and develop a deeper understanding of the language and how to employ it effectively.

Starting with the basics of TDD and understanding why its adoption is beneficial, this book will take you from the first steps of TDD with Java until you are confident enough to embrace the practice in your day-to-day routine.You'll be guided through setting up tools, frameworks, and the environment you need, and we will dive right into hands-on exercises with the goal of mastering one practice, tool, or framework at a time. You'll learn about the Red-Green-Refactor procedure, how to write unit tests, and how to use them as executable documentation.With this book, you'll also discover how to design simple and easily maintainable code, work with mocks, utilize behavior-driven development, refactor old legacy code, and release a half-finished feature to production with feature toggles.You will finish this book with a deep understanding of the test-driven development methodology and the confidence to apply it to application programming with Java.

Table of Contents

Chapter 1: Why Should I Care for Test-Driven Development?
Why TDD?
Testing
Mocking
Executable documentation
No debugging
Summary
Chapter 2: Tools, Frameworks, and Environments
Git
Virtual machines
Build tools
The integrated development environment
Unit-testing frameworks
Hamcrest and AssertJ
Code coverage tools
Mocking frameworks
User interface testing
Behavior-driven development
Summary
Chapter 3: Red-Green-Refactor – From Failure Through Success until Perfection
Setting up the environment with Gradle and JUnit
The Red-Green-Refactor process
Tic-Tac-Toe game requirements
Developing Tic-Tac-Toe
Code coverage
More exercises
Summary
Chapter 4: Unit Testing – Focusing on What You Do and Not on What Has Been Done
Unit testing
Unit testing with TDD
TestNG
Remote-controlled ship requirements
Developing the remote-controlled ship
Requirement – detecting obstacles
Summary
Chapter 5: Design – If It's Not Testable, It's Not Designed Well
Why should we care about design?
Connect 4
Test-last implementation of Connect 4
The TDD or test-first implementation
Final considerations
Summary
Chapter 6: Mocking – Removing External Dependencies
Mocking
Mockito
Tic-Tac-Toe v2 requirements
Developing Tic-Tac-Toe v2
Integration tests
Summary
Chapter 7: TDD and Functional Programming – A Perfect Match
Setting up the environment
Optional – dealing with uncertainty
Functions revisited
Streams
Summary
Chapter 8: BDD – Working Together with the Whole Team
Different specifications
Behavior-driven development
The book store BDD story
JBehave
Summary
Chapter 9: Refactoring Legacy Code – Making It Young Again
Legacy code
The kata exercise
Summary
Chapter 10: Feature Toggles – Deploying Partially Done Features to Production
Continuous integration, delivery, and deployment
Feature Toggles
A Feature Toggle example
Summary
Chapter 11: Putting It All Together
TDD in a nutshell
Best practices
Summary
Chapter 12: Leverage TDD by Implementing Continuous Delivery
Case study – Awesome Gambling Corp
Possible improvements
This is just the beginning
This does not have to be the end
Summary

What You Will Learn

  • Explore the tools and frameworks required for effective TDD development
  • Perform the Red-Green-Refactor process efficiently, the pillar around which all other TDD procedures are based
  • Master effective unit testing in isolation from the rest of your code
  • Design simple and easily maintainable code by implementing different techniques
  • Use mocking frameworks and techniques to easily write and quickly execute tests
  • Develop an application to implement behavior-driven development in conjunction with unit testing
  • Enable and disable features using feature toggles

Authors

Table of Contents

Chapter 1: Why Should I Care for Test-Driven Development?
Why TDD?
Testing
Mocking
Executable documentation
No debugging
Summary
Chapter 2: Tools, Frameworks, and Environments
Git
Virtual machines
Build tools
The integrated development environment
Unit-testing frameworks
Hamcrest and AssertJ
Code coverage tools
Mocking frameworks
User interface testing
Behavior-driven development
Summary
Chapter 3: Red-Green-Refactor – From Failure Through Success until Perfection
Setting up the environment with Gradle and JUnit
The Red-Green-Refactor process
Tic-Tac-Toe game requirements
Developing Tic-Tac-Toe
Code coverage
More exercises
Summary
Chapter 4: Unit Testing – Focusing on What You Do and Not on What Has Been Done
Unit testing
Unit testing with TDD
TestNG
Remote-controlled ship requirements
Developing the remote-controlled ship
Requirement – detecting obstacles
Summary
Chapter 5: Design – If It's Not Testable, It's Not Designed Well
Why should we care about design?
Connect 4
Test-last implementation of Connect 4
The TDD or test-first implementation
Final considerations
Summary
Chapter 6: Mocking – Removing External Dependencies
Mocking
Mockito
Tic-Tac-Toe v2 requirements
Developing Tic-Tac-Toe v2
Integration tests
Summary
Chapter 7: TDD and Functional Programming – A Perfect Match
Setting up the environment
Optional – dealing with uncertainty
Functions revisited
Streams
Summary
Chapter 8: BDD – Working Together with the Whole Team
Different specifications
Behavior-driven development
The book store BDD story
JBehave
Summary
Chapter 9: Refactoring Legacy Code – Making It Young Again
Legacy code
The kata exercise
Summary
Chapter 10: Feature Toggles – Deploying Partially Done Features to Production
Continuous integration, delivery, and deployment
Feature Toggles
A Feature Toggle example
Summary
Chapter 11: Putting It All Together
TDD in a nutshell
Best practices
Summary
Chapter 12: Leverage TDD by Implementing Continuous Delivery
Case study – Awesome Gambling Corp
Possible improvements
This is just the beginning
This does not have to be the end
Summary

Book Details

ISBN 139781788836111
Paperback324 pages
Read More

Read More Reviews

Recommended for You

Google Cloud Platform for Developers Book Cover
Google Cloud Platform for Developers
$ 35.99
$ 18.00
Kubernetes Cookbook - Second Edition Book Cover
Kubernetes Cookbook - Second Edition
$ 35.99
$ 18.00
Enterprise Agility Book Cover
Enterprise Agility
$ 39.99
$ 20.00
Angular Test-Driven Development - Second Edition Book Cover
Angular Test-Driven Development - Second Edition
$ 31.99
$ 16.00
Test-Driven iOS Development with Swift 4 - Third Edition Book Cover
Test-Driven iOS Development with Swift 4 - Third Edition
$ 31.99
$ 16.00
Practical Test-Driven Development using C# 7 Book Cover
Practical Test-Driven Development using C# 7
$ 39.99
$ 20.00