Master high quality software development driven by unit testsAbout This BookDesign and implement robust system components by means of the de facto unit testing standard in JavaReduce defect rate and maintenance effort, plus simultaneously increase code quality and development paceFollow a step-by-step tutorial imparting the essential techniques based on real-world scenarios and code walkthroughsWho This Book Is ForNo matter what your specific background as a Java developer, whether you’re simply interested in building up a safety net to reduce regressions of your desktop application or in improving your server-side reliability based on robust and reusable components, unit testing is the way to go. This book provides you with a comprehensive but concise entrance advancing your knowledge step-wise to a professional level.What You Will LearnOrganize your test infrastructure and resources reasonablyUnderstand and write well structured testsDecompose your requirements into small and independently testable unitsIncrease your testing efficiency with on-the-fly generated stand-in components and deal with the particularities of exceptional flowEmploy runners to adjust to specific test demandsUse rules to increase testing safety and reduce boilerplateUse third party supplements to improve the expressiveness of your verification statementsIn DetailJUnit has matured to become the most important tool when it comes to automated developer tests in Java. Supported by all IDEs and build systems, it empowers programmers to deliver software features reliably and efficiently. However, writing good unit tests is a skill that needs to be learned; otherwise it’s all too easy to end up in gridlocked development due to messed up production and testing code. Acquiring the best practices for unit testing will help you to prevent such problems and lead your projects to success with respect to quality and costs.This book explains JUnit concepts and best practices applied to the test first approach, a foundation for high quality Java components delivered in time and budget.From the beginning you’ll be guided continuously through a practically relevant example and pick up background knowledge and development techniques step by step. Starting with the basics of tests organization you’ll soon comprehend the necessity of well structured tests and delve into the relationship of requirement decomposition and the many-faceted world of test double usage. In conjunction with third-party tools you’ll be trained in writing your tests efficiently, adapt your test case environment to particular demands and increase the expressiveness of your verification statements. Finally, you’ll experience continuous integration as the perfect complement to support short feedback cycles and quality related reports for your whole team.The tutorial gives a profound entry point in the essentials of unit testing with JUnit and prepares you for test-related daily work challenges.Style and approachThis is an intelligible tutorial based on an ongoing and non-trivial development example. Profound introductions of concepts and techniques are provided stepwise as the programming challenges evolve. This allows you to reproduce and practice the individual skills thoroughly.