module TestBench
Constants
- Session
Attributes
session[W]
Public Class Methods
activate(receiver=nil, session: nil)
click to toggle source
# File lib/test_bench/test_bench.rb, line 28 def self.activate(receiver=nil, session: nil) receiver ||= TOPLEVEL_BINDING.receiver fixture(session, receiver: receiver) end
build_session(output: nil, abort_on_error: nil, **args)
click to toggle source
# File lib/test_bench/test_bench.rb, line 62 def self.build_session(output: nil, abort_on_error: nil, **args) output ||= Output.build error_policy = session_error_policy(abort_on_error) Fixture::Session.build(output: output, error_policy: error_policy, **args) end
context(title=nil, session: nil, &block)
click to toggle source
# File lib/test_bench/test_bench.rb, line 42 def self.context(title=nil, session: nil, &block) evaluate(session: session) do context(title) do instance_exec(&block) end end end
evaluate(session: nil, &block)
click to toggle source
# File lib/test_bench/test_bench.rb, line 34 def self.evaluate(session: nil, &block) fixture = fixture(session) fixture.context do fixture.instance_exec(&block) end end
exit_code(session, fail_deactivated_tests: nil)
click to toggle source
# File lib/test_bench/test_bench.rb, line 79 def self.exit_code(session, fail_deactivated_tests: nil) if fail_deactivated_tests.nil? fail_deactivated_tests = Defaults.fail_deactivated_tests end if session.failed? 1 elsif session.skipped? fail_deactivated_tests ? 2 : 0 else 0 end end
fixture(session=nil, receiver: nil)
click to toggle source
# File lib/test_bench/test_bench.rb, line 50 def self.fixture(session=nil, receiver: nil) session ||= self.session receiver ||= Object.new receiver.extend(Fixture) receiver.extend(DeactivationVariants) receiver.test_session = session receiver end
output()
click to toggle source
# File lib/test_bench/test_bench.rb, line 13 def self.output session.output end
session()
click to toggle source
# File lib/test_bench/test_bench.rb, line 2 def self.session @session ||= build_session.tap do |session| at_exit do exit_code = exit_code(session) exit(exit_code) unless exit_code.zero? end end end
session_error_policy(abort_on_error=nil)
click to toggle source
# File lib/test_bench/test_bench.rb, line 69 def self.session_error_policy(abort_on_error=nil) abort_on_error = Defaults.abort_on_error if abort_on_error.nil? if abort_on_error :abort else :rescue end end
set_output(output, session: nil)
click to toggle source
# File lib/test_bench/test_bench.rb, line 17 def self.set_output(output, session: nil) session ||= self.session if output.is_a?(Array) output = Fixture::Output::Multiple.build(*output) end session.output = output end