shard-spectator/src/spectator/config.cr

40 lines
1.1 KiB
Crystal
Raw Normal View History

module Spectator
# Provides customization and describes specifics for how Spectator will run and report tests.
class Config
2019-03-23 23:00:21 +00:00
@formatters : Array(Formatting::Formatter)
2018-12-13 21:16:49 +00:00
2019-03-22 05:40:00 +00:00
# Indicates whether the test should abort on first failure.
getter? fail_fast : Bool
2019-03-22 19:21:37 +00:00
# Indicates whether the test should fail if there are no examples.
getter? fail_blank : Bool
2019-03-22 20:05:48 +00:00
# Indicates whether the test should be done as a dry-run.
# Examples won't run, but the output will show that they did.
getter? dry_run : Bool
# Random number generator to use for everything.
getter random : Random
2019-03-24 01:18:29 +00:00
2019-03-24 01:43:41 +00:00
# Indicates whether tests are run in a random order.
getter? randomize : Bool
2018-12-13 21:16:49 +00:00
# Creates a new configuration.
def initialize(builder)
2019-03-23 23:00:21 +00:00
@formatters = builder.formatters
2019-03-22 05:40:00 +00:00
@fail_fast = builder.fail_fast?
2019-03-22 19:21:37 +00:00
@fail_blank = builder.fail_blank?
2019-03-22 20:05:48 +00:00
@dry_run = builder.dry_run?
@random = builder.random
2019-03-24 01:43:41 +00:00
@randomize = builder.randomize?
2018-12-13 21:16:49 +00:00
end
2019-03-23 23:00:21 +00:00
# Yields each formatter that should be reported to.
def each_formatter
@formatters.each do |formatter|
yield formatter
end
end
end
end