Validating Configuration State Management in Jazzy Test Framework
This pre-flight test suite implements configuration state management for the Jazzy documentation generator. It ensures proper initialization and cleanup of test environments by resetting configurations before each test requirement execution.
Test Coverage Overview
Implementation Analysis
Technical Details
Best Practices Demonstrated
realm/jazzy
spec/spec_helper/pre_flight.rb
# frozen_string_literal: true
# Restores the config to the default state before each requirement
module Bacon
class Context
old_run_requirement = instance_method(:run_requirement)
define_method(:run_requirement) do |description, spec|
temporary_directory = SpecHelper.temporary_directory
::Jazzy::Config.instance = nil
::Jazzy::Config.instance.tap do |c|
c.source_directory = temporary_directory
end
temporary_directory.rmtree if temporary_directory.exist?
temporary_directory.mkpath
old_run_requirement.bind(self).call(description, spec)
end
end
end