Cucumberex.Result (cucumberex v0.2.1)

Copy Markdown View Source

Step and scenario result types.

Summary

Functions

Returns a failed result wrapping an error.

Returns a passed result.

Returns the worst result by priority: failed > ambiguous > undefined > pending > flaky > skipped > passed.

Types

status()

@type status() ::
  :passed | :failed | :pending | :undefined | :skipped | :ambiguous | :flaky

t()

@type t() :: %Cucumberex.Result{
  duration_ms: non_neg_integer() | nil,
  error: Exception.t() | nil,
  status: status()
}

Functions

ambiguous(matches)

iex> Cucumberex.Result.ambiguous([:a, :b]).status
:ambiguous

failed(error, duration_ms \\ nil)

Returns a failed result wrapping an error.

iex> r = Cucumberex.Result.failed(%RuntimeError{message: "oops"})
iex> r.status
:failed

failed?(arg1)

iex> Cucumberex.Result.failed?(%Cucumberex.Result{status: :failed})
true
iex> Cucumberex.Result.failed?(%Cucumberex.Result{status: :passed})
false

flaky()

iex> Cucumberex.Result.flaky().status
:flaky

ok?(arg1)

iex> Cucumberex.Result.ok?(%Cucumberex.Result{status: :passed})
true
iex> Cucumberex.Result.ok?(%Cucumberex.Result{status: :skipped})
true
iex> Cucumberex.Result.ok?(%Cucumberex.Result{status: :failed})
false

passed(duration_ms \\ nil)

Returns a passed result.

iex> Cucumberex.Result.passed().status
:passed
iex> Cucumberex.Result.passed(100).duration_ms
100

passed?(arg1)

iex> Cucumberex.Result.passed?(%Cucumberex.Result{status: :passed})
true
iex> Cucumberex.Result.passed?(%Cucumberex.Result{status: :failed})
false

pending()

iex> Cucumberex.Result.pending().status
:pending

skipped()

iex> Cucumberex.Result.skipped().status
:skipped

to_exit_code(results)

iex> Cucumberex.Result.to_exit_code([Cucumberex.Result.passed()])
0
iex> Cucumberex.Result.to_exit_code([Cucumberex.Result.failed(%RuntimeError{})])
1

undefined()

iex> Cucumberex.Result.undefined().status
:undefined

worst(results)

Returns the worst result by priority: failed > ambiguous > undefined > pending > flaky > skipped > passed.

iex> results = [Cucumberex.Result.passed(), Cucumberex.Result.failed(%RuntimeError{})]
iex> Cucumberex.Result.worst(results).status
:failed