Skip to content

Document what the adapter cannot give - #60

Merged
rasuvaeff merged 1 commit into
masterfrom
docs/adapter-limitations
Sep 28, 2026
Merged

rasuvaeff merged 1 commit into
masterfrom
docs/adapter-limitations

Conversation

@rasuvaeff

Copy link
Copy Markdown
Owner

Fixes #59

Driving the engine through a single PHPUnit test method has consequences the READMEs named only for expectException(). The other three are now stated as well, in both languages and in llms.txt:

Consequence Detail
One fixture for all runs setUp()/tearDown() and #[Before]/#[After] run once per property, not per run: state a run leaves behind is visible to the next run and to every shrinking attempt
Doubles verified once PHPUnit verifies the doubles it created when the test method ends — after the last run — so an unmet once() fails the property as a whole and is never attributed to an input or shrunk
Coverage counts shrink attempts every run, including each shrink trial, executes inside the one test method, so per-test coverage includes lines reached only while shrinking

The Testo adapter does not share the first one, and that is stated too: there each trial goes through the framework's interceptor pipeline (($this->next)($info) per run, with the lifecycle interceptor running the hooks inside that closure), so hooks run per run. Verified against TestoTrialExecutor rather than taken from the issue text.

Documentation only. composer build green (139 tests), bin/package-audit clean.

Driving the engine through a single PHPUnit test method has consequences the
READMEs did not name: lifecycle hooks and setUp/tearDown run once per property,
test-double expectations are verified after the last run, and per-test coverage
counts lines reached only while shrinking. The Testo adapter runs each trial
through the framework's interceptor pipeline, so it does not share the first
one — a difference users choosing between the adapters should know.

Fixes #59
@coderabbitai

coderabbitai Bot commented Sep 28, 2026

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Advanced

Run ID: 135c500d-b8ac-4b28-bdca-be6c7af441f1


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@rasuvaeff
rasuvaeff merged commit 22bfb32 into master Sep 28, 2026
12 checks passed
@rasuvaeff
rasuvaeff deleted the docs/adapter-limitations branch September 28, 2026 08:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Document what the adapter cannot give: one lifecycle for all runs, doubles verified once, coverage includes shrink attempts

1 participant