Skip examples

The section on standard results already presents two methods for skipping examples. But this works for individual examples only. In some circumstances you might want to skip a whole specification. For example, your specification needs to access a web service in order to work and this service might not be available on all testing machines. You can skip this specification conditionally with the skipAllIf argument:

class InactiveSpec extends Specification:
  def is = skipAllIf(databaseIsDown) ^ s2"""

  There is a list of customers in the database $e1
  One of them is called Eric $e2
  """

  def e1 = database.getCustomers must not(beEmpty)
  def e2 = database.getCustomers must contain((_: Customer).name === "Eric")

There also is a version of skipAllIf which reads better for some conditions: skipAllUnless.