Spock: Up and Running: Writing Expressive Tests in Java and Groovy
- Length: 372 pages
- Edition: 1
- Language: English
- Publisher: O'Reilly Media
- Publication Date: 2017-05-08
- ISBN-10: B072F7C6WG
- Sales Rank: #782935 (See Top 100 Books)
Most developers would agree that writing automated tests is a good idea, but writing good, well-structured tests is still an elusive skill for many. For Java and Groovy developers, however, there’s good news. This practical guide shows you how to write concise and highly readable tests with Spock, the most innovative testing and specification framework for the JVM since JUnit.
Author Rob Fletcher takes you from Spock basics to advanced topics, using fully worked integration examples. Through the course of this book, you’ll build a simple web application—Squawker—that allows users to post short messages. You’ll discover how much easier it is to write automated tests with Spock’s straightforward and expressive language.
- Start by learning how to write simple unit tests
- Understand the lifecycle of Spock specifications and feature methods
- Dive into interaction testing, using Spock’s intuitive syntax for dealing with mocks and stubs
- Learn about parameterized tests—writing feature methods that run for multiple sets of data
- Move into advanced topics, such as writing idiomatic Spock code and driving parameterized tests with file or database input
- Learn how everything works together in a standalone, fully-worked, test-driven development example
Table of Contents
Chapter 1 The “up and running” part
Chapter 2 Specification basics
Chapter 3 Spock assertions
Chapter 4 Managing resources
Chapter 5 Interaction testing
Chapter 6 Parameterized specifications
Chapter 7 Idiomatic Spock
Chapter 8 Advanced where: blocks
Chapter 9 Asynchronous testing
Chapter 10 Extending Spock
Chapter 11 TDD: The Diamond Kata
Chapter 12 Spock and Spring
Chapter 13 Testing REST APIs
Chapter 14 End-to-end web testing
Chapter 15 Testing JavaScript with Spock
Chapter 16 Test driving an RxJava application
Appendix A Groovy Primer