Skip to content

Troubleshooting

Ngan Pham edited this page Feb 24, 2026 · 1 revision

Troubleshooting

Cache Missing

Error:

FixtureKit::CacheMissingError

Meaning: cache file was not generated before mount.

Checks:

  • Fixture was declared in that context/class.
  • Framework entrypoint is required (fixture_kit/rspec or fixture_kit/minitest).
  • Cache path is writable.

Fixture Definition Not Found

Error:

FixtureKit::FixtureDefinitionNotFound

Checks:

  • File exists at <fixture_path>/<name>.rb.
  • File returns FixtureKit.define { ... }.

Multiple Fixture Declarations

Error:

FixtureKit::MultipleFixtures

Meaning: same context/class declared fixture more than once.

Fix: keep one declaration per context/class; use nested scope/class override instead.

Invalid Declaration

Error:

FixtureKit::InvalidFixtureDeclaration

Checks:

  • Provide exactly one of name or block.

Runner Started Twice

Error:

FixtureKit::RunnerAlreadyStartedError

Meaning: internal startup invoked more than once in same runner instance.

Fix: avoid manually calling FixtureKit.runner.start in tests that already use entrypoints.

Verify Callback Wiring

Use temporary logging:

FixtureKit.configure do |config|
  config.on_cache_save { |identifier| puts "save: #{identifier}" }
  config.on_cache_saved { |identifier, duration| puts "saved: #{identifier} in #{duration}" }
  config.on_cache_mount { |identifier| puts "mount: #{identifier}" }
  config.on_cache_mounted { |identifier, duration| puts "mounted: #{identifier} in #{duration}" }
end

Clone this wiki locally