mirror of
https://gitea.invidious.io/iv-org/shard-spectator.git
synced 2024-08-15 00:53:35 +00:00
Add docs to Report class
This commit is contained in:
parent
6151912fa6
commit
6f08101828
1 changed files with 16 additions and 0 deletions
|
@ -1,46 +1,62 @@
|
||||||
module Spectator
|
module Spectator
|
||||||
# Outcome of all tests in a suite.
|
# Outcome of all tests in a suite.
|
||||||
class Report
|
class Report
|
||||||
|
# Total length of time it took to execute the test suite.
|
||||||
|
# This includes examples, hooks, and framework processes.
|
||||||
getter runtime : Time::Span
|
getter runtime : Time::Span
|
||||||
|
|
||||||
@results : Array(Result)
|
@results : Array(Result)
|
||||||
|
|
||||||
|
# Creates the report.
|
||||||
|
# The `results` are from running the examples in the test suite.
|
||||||
|
# The `runtime` is the total time it took to execute the suite.
|
||||||
def initialize(results : Enumerable(Result), @runtime)
|
def initialize(results : Enumerable(Result), @runtime)
|
||||||
@results = results.to_a
|
@results = results.to_a
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Number of examples.
|
||||||
def examples
|
def examples
|
||||||
@results.size
|
@results.size
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Number of passing examples.
|
||||||
def successful_examples
|
def successful_examples
|
||||||
@results.count(&.successful?)
|
@results.count(&.successful?)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Number of failing examples (includes errors).
|
||||||
def failed_examples
|
def failed_examples
|
||||||
@results.count(&.failed?)
|
@results.count(&.failed?)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Returns a set of results for all failed examples.
|
||||||
def failures
|
def failures
|
||||||
@results.select(&.failed?)
|
@results.select(&.failed?)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Number of examples that had errors.
|
||||||
def errored_examples
|
def errored_examples
|
||||||
@results.count(&.errored?)
|
@results.count(&.errored?)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Returns a set of results for all errored examples.
|
||||||
def errors
|
def errors
|
||||||
@results.select(&.errored?)
|
@results.select(&.errored?)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Number of pending examples.
|
||||||
def pending_examples
|
def pending_examples
|
||||||
@results.count(&.pending?)
|
@results.count(&.pending?)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Length of time it took to run just example code.
|
||||||
|
# This does not include hooks,
|
||||||
|
# but it does include pre- and post-conditions.
|
||||||
def example_runtime
|
def example_runtime
|
||||||
@results.map(&.elapsed).sum
|
@results.map(&.elapsed).sum
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Length of time spent in framework processes and hooks.
|
||||||
def overhead_time
|
def overhead_time
|
||||||
@runtime - example_runtime
|
@runtime - example_runtime
|
||||||
end
|
end
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue