Enterprise Java developers must achieve broader, deeper test coverage, going beyond unit testing to implement functional and integration testing with systematic acceptance. Next Generation Java™ Testing introduces breakthrough Java testing techniques and TestNG, a powerful open source Java testing platform. Cédric Beust, TestNG's creator, and leading Java developer Hani Suleiman, present powerful, flexible testing patterns that will work with virtually any testing tool, framework, or language. They show how to leverage key Java platform improvements designed to facilitate effective testing, such as dependency injection and mock objects. They also thoroughly introduce TestNG, demonstrating how it overcomes the limitations of older frameworks and enables new techniques, making it far easier to test today's complex software systems. Pragmatic and results-focused, Next Generation Java™ Testing will help Java developers build more robust code for today's mission-critical environments. This book Illuminates the tradeoffs associated with testing, so you can make better decisions about what and how to test Introduces TestNG, explains its goals and features, and shows how to apply them in real-world environments Shows how to integrate TestNG with your existing code, development frameworks, and software libraries Demonstrates how to test crucial code features, such as encapsulation, state sharing, scopes, and thread safety Shows how to test application elements, including JavaEE APIs, databases, Web pages, and XML files Presents advanced techniques: testing partial failures, factories, dependent testing, remote invocation, cluster-based test farms, and more Walks through installing and using TestNG plug-ins for Eclipse, and IDEA Contains extensive code examples Whether you use TestNG, JUnit, or another testing framework, the testing design patterns presented in this book will show you how to improve your tests by giving you concrete advice on how to make your code and your design more testable.
Les mer
Foreword     xiii Preface     xv Acknowledgments     xxi About the Authors     xxiii Chapter 1: Getting Started     1 Beyond JUnit 3     3 JUnit 4     7 Designing for Testability     8 TestNG     17 Conclusion     21 Chapter 2: Testing Design Patterns     23 Testing for Failures     23 Factories     34 Data-Driven Testing     39 Asynchronous Testing     67 Testing Multithreaded Code     71 Performance Testing     83 Mocks and Stubs     90 Dependent Testing     103 Inheritance and Annotation Scopes     113 Test Groups     119 Code Coverage     132 Conclusion     150 Chapter 3: Enterprise Testing     153 A Typical Enterprise Scenario     154 A Concrete Example     157 Test Implementation     160 Exploring the Competing Consumers Pattern     182 The Role of Refactoring     186 Conclusion     194 Chapter 4: Java EE Testing     197 In-Container versus Out-of-Container Testing     198 In-Container Testing     200 Java Naming and Directory Interface (JNDI)     207 Java Database Connectivity (JDBC)     210 Java Transaction API (JTA)     215 Java Messaging Service (JMS)     219 Java Persistence API (JPA)     225 Enterprise Java Beans 3.0 (EJB3)     236 Java API for XML Web Services (JAX-WS)     246 Servlets     255 XML     262 Conclusion     266 Chapter 5: Integration     269 Guice     280 DbUnit     295 HtmlUnit     303 Selenium     310 Swing UI Testing     312 Tests for Painting Code     316 Continuous Integration     320 Conclusion     322 Chapter 6: Extending TestNG     325 The TestNG API     325 BeanShell     335 Method Selectors     341 Annotation Transformers     346 Reports     355 Writing Custom Annotations     366 Conclusion     375 Chapter 7: Digressions     377 Motivation     377 The TestNG Philosophy     378 The Care and Feeding of Exceptionsv378 Stateful Tests     382 The Pitfalls of Test-Driven Development     385 Testing Private Methods     388 Testing versus Encapsulation     391 The Power of Debuggers     392 Logging Best Practices     394vThe Value of Time     397 Conclusion     399 Appendix A: IDE Integration     401 Eclipse     401 IntelliJ IDEA     411 Appendix B: TestNG Javadocs     421 JDK 1.4 and JDK 5     421 Shortcut Syntax for JDK 5 Annotations     423 Annotation Javadocs     423 The org.testng.TestNG Class     428 The XML API     432 Appendix C: testng.xml     435 Overview     436 Scopes     437 XML Tags     437 Appendix D: Migrating from JUnit     449 JUnitConverter     449 Integrated Development Environments     453 Incremental Migration and JUnit Mode     455 Converting JUnit Code     456 Index     471
Les mer
Enterprise Java developers must achieve broader, deeper test coverage, going beyond unit testing to implement functional and integration testing with systematic acceptance. Next Generation Java™ Testing introduces breakthrough Java testing techniques and TestNG, a powerful open source Java testing platform. Cédric Beust, TestNG's creator, and leading Java developer Hani Suleiman, present powerful, flexible testing patterns that will work with virtually any testing tool, framework, or language. They show how to leverage key Java platform improvements designed to facilitate effective testing, such as dependency injection and mock objects. They also thoroughly introduce TestNG, demonstrating how it overcomes the limitations of older frameworks and enables new techniques, making it far easier to test today's complex software systems. Pragmatic and results-focused, Next Generation Java™ Testing will help Java developers build more robust code for today's mission-critical environments. This book Illuminates the tradeoffs associated with testing, so you can make better decisions about what and how to test Introduces TestNG, explains its goals and features, and shows how to apply them in real-world environments Shows how to integrate TestNG with your existing code, development frameworks, and software libraries Demonstrates how to test crucial code features, such as encapsulation, state sharing, scopes, and thread safety Shows how to test application elements, including JavaEE APIs, databases, Web pages, and XML files Presents advanced techniques: testing partial failures, factories, dependent testing, remote invocation, cluster-based test farms, and more Walks through installing and using TestNG plug-ins for Eclipse, and IDEA Contains extensive code examples Whether you use TestNG, JUnit, or another testing framework, the testing design patterns presented in this book will show you how to improve your tests by giving you concrete advice on how to make your code and your design more testable.
Les mer
Enterprise Java developers must achieve broader, deeper test coverage, going beyond unit testing to implement functional and integration testing with systematic acceptance. Next Generation Java Testing introduces breakthrough Java testing techniques and TestNG, a powerful open source Java testing platform. Cedric Beust, TestNG's creator, and leading Java developer Hani Suleiman, present powerful, flexible testing patterns that will work with virtually any testing tool, framework, or language. They show how to leverage key Java platform improvements designed to facilitate effective testing, such as dependency injection and mock objects. They also thoroughly introduce TestNG, demonstrating how it overcomes the limitations of older frameworks and enables new techniques, making it far easier to test today's complex software systems. Pragmatic and results-focused, Next Generation Java Testing will help Java developers build more robust code for today's mission-critical environments. This book *Illuminates the tradeoffs associated with testing, so you can make better decisions about what and how to test *Introduces TestNG, explains its goals and features, and shows how to apply them in real-world environments *Shows how to integrate TestNG with your existing code, development frameworks, and software libraries *Demonstrates how to test crucial code features, such as encapsulation, state sharing, scopes, and thread safety *Shows how to test application elements, including JavaEE APIs, databases, Web pages, and XML files *Presents advanced techniques: testing partial failures, factories, dependent testing, remote invocation, cluster-based test farms, and more *Walks through installing and using TestNG plug-ins for Eclipse, and IDEA *Contains extensive code examples Whether you use TestNG, JUnit, or another testing framework, the testing design patterns presented in this book will show you how to improve your tests by giving you concrete advice on how to make your code and your design more testable.
Les mer
First definitive guide to next generation of testing technologies by creator of TestNG Eliminates the limitations of JUnit and older frameworks and gives developers the ability to write more flexible and powerful tests Provides an understanding of testing patterns, regardless of the framework used Provides extensive coverage of Limitations with current approaches; Emerging testing methodologies; Expanded TestNG documentation
Les mer

Produktdetaljer

ISBN
9780321503107
Publisert
2007-10-25
Utgiver
Pearson Education (US)
Vekt
990 gr
Høyde
236 mm
Bredde
181 mm
Dybde
32 mm
Aldersnivå
U, 05
Språk
Product language
Engelsk
Format
Product format
Heftet
Antall sider
512

Biografisk notat

Cédric Beust, a senior software engineer at Google, is an active member of the Java Community Process who has been extensively involved in the development of the latest Java release. He is the creator and main contributor to the TestNG project. Hani Suleiman is CTO of Formicary, a consulting and portal company specializing in financial applications. He is one of two individual members who has been elected to the Executive Committee of the Java Community Process.