Next generation Java testing : TestNG and advanced concepts

著者

書誌事項

Next generation Java testing : TestNG and advanced concepts

Cédric Beust, Hani Suleiman ; [foreword by Brian Goetz]

Addison-Wesley, c2008

  • : pbk

大学図書館所蔵 件 / 1

この図書・雑誌をさがす

注記

Includes index

内容説明・目次

内容説明

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 (TM) 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 (TM) 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.

目次

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

「Nielsen BookData」 より

詳細情報

ページトップへ