{"product_id":"next-generation-java-testing-9780321503107","title":"Next Generation Java Testing","description":"\u003cb\u003eBook Synopsis\u003c\/b\u003e\u003cbr\u003e\u003cp\u003e\u003cb\u003eCédric Beust,\u003c\/b\u003e 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.\u003c\/p\u003e \u003cp\u003e\u003cb\u003eHani Suleiman\u003c\/b\u003e 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.\u003c\/p\u003e\u003cbr\u003e\u003cbr\u003e\u003cb\u003eTable of Contents\u003c\/b\u003e\u003cbr\u003eForeword     xiii Preface     xv Acknowledgments     xxi About the Authors     xxiii Chapter 1: Getting Started     1     \t  Beyond JUnit 3     3   JUnit 4     7   Designing for Testability     8   TestNG     17   Conclusion     21      Chapter 2: Testing Design Patterns     23     \t  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     \t  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     \t  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     \t  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     \t  The TestNG API     325   BeanShell     335   Method Selectors     341   Annotation Transformers     346   Reports     355   Writing Custom Annotations     366   Conclusion     375      Chapter 7: Digressions     377     \t  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     \t  Eclipse     401   IntelliJ IDEA     411      Appendix B: TestNG Javadocs     421     \t  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     \t  Overview     436   Scopes     437   XML Tags     437      Appendix D: Migrating from JUnit     449     \t  JUnitConverter     449   Integrated Development Environments     453   Incremental Migration and JUnit Mode     455   Converting JUnit Code     456      Index     471","brand":"Pearson Education (US)","offers":[{"title":"Default Title","offer_id":48883974898007,"sku":"9780321503107","price":33.37,"currency_code":"GBP","in_stock":false}],"url":"https:\/\/bookcurl.com\/products\/next-generation-java-testing-9780321503107","provider":"Book Curl","version":"1.0","type":"link"}