# cp.spec.Specification

A Specification is a list of definitions which will be run in sequence, and the results are collated. It is often created via the describe function.

Example usage:

local spec = require "cp.spec"
local describe, it = spec.describe, spec.it

return describe "a specification" {
    it "performs an assertion"
    :doing(function()
        assert(true, "should not fail")
    end),
}

# API Overview

Functions - API calls offered directly by the extension

  • is

Constructors - API calls which return an object, typically one that offers API methods

  • Specification

Methods - API calls which can only be made on an object returned by a constructor

  • onAfterEach
  • onBeforeEach
  • run
  • with

# API Documentation

# Functions

# is

Signature cp.spec.Specification.is(instance) -> boolean
Type Function
Description Checks if the instance is an instance of Specification.
Parameters
  • instance - The instance to check
Returns
  • true if it's a Specification instance.
Notes None
Examples None
Source src/extensions/cp/spec/Specification.lua line 31

# Constructors

# Specification

Signature cp.spec.Specification(name) -> cp.spec.Specification
Type Constructor
Description Creates a new test suite.
Parameters
  • name - The name os the specification.
Returns
  • A cp.spec.Specification object
Notes None
Examples None
Source src/extensions/cp/spec/Specification.lua line 44

# Methods

# onAfterEach

Signature cp.spec.Specification:onAfterEach(afterEachFn) -> cp.spec.Specification
Type Method
Description Specifies a function to execute after each of the contained specifications is run. The function will be passed the Run.This for the current Run.
Parameters
  • afterEachFn - The function to run after each child runs.
Returns
  • The same cp.spec.Specification instance.
Notes None
Examples None
Source src/extensions/cp/spec/Specification.lua line 72

# onBeforeEach

Signature cp.spec.Specification:onBeforeEach(beforeEachFn) -> cp.spec.Specification
Type Method
Description Specifies a function to execute before each of the contained specifications is run. The function will be passed the Run.This for the current Run.
Parameters
  • beforeEachFn - The function to run before each child runs.
Returns
  • The same cp.spec.Specification instance.
Notes None
Examples None
Source src/extensions/cp/spec/Specification.lua line 58

# run

Signature cp.spec.Specification:run() -> cp.spec.Run
Type Method
Description Runs the specification, returning the Run instance, already running.
Parameters
  • None
Returns
  • The Run instance.
Notes None
Examples None
Source src/extensions/cp/spec/Specification.lua line 86

# with

Signature cp.spec.Specification:with(...) -> self
Type Method
Description Adds the provided definitions to the suite. May also pass a single table containing a list of definitions.
Parameters
Returns
  • The same Specification instance, with the definitions added.
Notes None
Examples None
Source src/extensions/cp/spec/Specification.lua line 135