{"adoption": {"forks": 469, "observed_at": "2026-08-28T04:10:43.866121+00:00", "stars": 10724}, "canonical_url": "https://ross.abutalabs.com/products/mockery", "card": {"archived": false, "artifact_type": "library", "description": "Mockery is a simple yet flexible PHP mock object framework for use in unit testing with PHPUnit, PHPSpec or any other testing framework. Its core goal is to offer a test double framework with a succinct API capable of clearly defining all possible object operations and interactions using a human readable Domain Specific Language (DSL).", "domain": ["testing", "developer-tools"], "enriched": true, "function": ["mocking", "testing"], "health_score": 99, "homepage": "http://docs.mockery.io/en/stable/", "language": "PHP", "license": "BSD-3-Clause", "license_family": "permissive", "maturity": "stable", "member_repos": ["mockery/mockery"], "name": "mockery/mockery", "platform": ["php", "cli"], "pushed_at": "2026-08-20T01:59:25+00:00", "repo": "mockery/mockery", "stars": 10724, "tags": ["test-doubles", "phpunit", "phpspec", "unit-testing", "stubs", "spies", "php"], "topics": ["mockery", "phpunit", "php", "stub", "mock", "mocking", "test-doubles"], "urls": [], "use_cases": ["mock objects in phpunit tests", "create stubs and test doubles in php", "replace phpunit-mock-objects with a better mocking dsl", "spy on method calls in php unit tests", "mock final classes and static methods in php", "isolate unit tests from dependencies"], "what_it_is": "Mockery is a flexible PHP mock object framework for creating test doubles in unit tests. It provides a human-readable DSL for defining expected method calls and return values, integrating with PHPUnit, PHPSpec, or any other testing framework.", "when_to_avoid": ["you are testing code in a language other than PHP", "your tests only need simple stubs already covered by PHPUnit's built-in mocking"], "when_to_choose": ["you write PHP unit tests and need expressive mock objects, stubs, or spies", "you want a drop-in alternative to PHPUnit's built-in mock objects with a richer DSL", "you need to mock fluent interfaces, magic methods, or partial mocks"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/mockery", "repo": "mockery/mockery", "role": "main", "score": 98}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:10:43.866121+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:17:56.423672+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fc16b49cbedc6dbc60f898f9ca52e2b65e4d6bbbcc235bceddecde80fb53ec62", "fetched_at": "2026-08-28T04:10:43.866121+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mockery/mockery"}, {"content_hash": "518d4451711985d6f65a6d1fc44d760c2d2f6ae3157cbb8348fc90f1708126c0", "fetched_at": "2026-08-29T08:17:01.057230+00:00", "kind": "homepage", "missing": false, "url": "http://docs.mockery.io/en/stable/"}, {"content_hash": "7dde64d2fd3bdf14dac29bd3748311854a9c29012650116ab0518649bbe22e4d", "fetched_at": "2026-08-29T08:17:01.066419+00:00", "kind": "site_page", "missing": false, "url": "http://docs.mockery.io/en/stable/getting_started/installation.html"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:10:43.866121+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:17:56.423672+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fc16b49cbedc6dbc60f898f9ca52e2b65e4d6bbbcc235bceddecde80fb53ec62", "fetched_at": "2026-08-28T04:10:43.866121+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mockery/mockery"}, {"content_hash": "518d4451711985d6f65a6d1fc44d760c2d2f6ae3157cbb8348fc90f1708126c0", "fetched_at": "2026-08-29T08:17:01.057230+00:00", "kind": "homepage", "missing": false, "url": "http://docs.mockery.io/en/stable/"}, {"content_hash": "7dde64d2fd3bdf14dac29bd3748311854a9c29012650116ab0518649bbe22e4d", "fetched_at": "2026-08-29T08:17:01.066419+00:00", "kind": "site_page", "missing": false, "url": "http://docs.mockery.io/en/stable/getting_started/installation.html"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:17:56.423672+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fc16b49cbedc6dbc60f898f9ca52e2b65e4d6bbbcc235bceddecde80fb53ec62", "fetched_at": "2026-08-28T04:10:43.866121+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mockery/mockery"}, {"content_hash": "518d4451711985d6f65a6d1fc44d760c2d2f6ae3157cbb8348fc90f1708126c0", "fetched_at": "2026-08-29T08:17:01.057230+00:00", "kind": "homepage", "missing": false, "url": "http://docs.mockery.io/en/stable/"}, {"content_hash": "7dde64d2fd3bdf14dac29bd3748311854a9c29012650116ab0518649bbe22e4d", "fetched_at": "2026-08-29T08:17:01.066419+00:00", "kind": "site_page", "missing": false, "url": "http://docs.mockery.io/en/stable/getting_started/installation.html"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:10:43.866121+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:10:43.866121+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:10:43.866121+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:17:56.423672+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fc16b49cbedc6dbc60f898f9ca52e2b65e4d6bbbcc235bceddecde80fb53ec62", "fetched_at": "2026-08-28T04:10:43.866121+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mockery/mockery"}, {"content_hash": "518d4451711985d6f65a6d1fc44d760c2d2f6ae3157cbb8348fc90f1708126c0", "fetched_at": "2026-08-29T08:17:01.057230+00:00", "kind": "homepage", "missing": false, "url": "http://docs.mockery.io/en/stable/"}, {"content_hash": "7dde64d2fd3bdf14dac29bd3748311854a9c29012650116ab0518649bbe22e4d", "fetched_at": "2026-08-29T08:17:01.066419+00:00", "kind": "site_page", "missing": false, "url": "http://docs.mockery.io/en/stable/getting_started/installation.html"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:10:43.866121+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:10:43.866121+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:17:56.423672+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fc16b49cbedc6dbc60f898f9ca52e2b65e4d6bbbcc235bceddecde80fb53ec62", "fetched_at": "2026-08-28T04:10:43.866121+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mockery/mockery"}, {"content_hash": "518d4451711985d6f65a6d1fc44d760c2d2f6ae3157cbb8348fc90f1708126c0", "fetched_at": "2026-08-29T08:17:01.057230+00:00", "kind": "homepage", "missing": false, "url": "http://docs.mockery.io/en/stable/"}, {"content_hash": "7dde64d2fd3bdf14dac29bd3748311854a9c29012650116ab0518649bbe22e4d", "fetched_at": "2026-08-29T08:17:01.066419+00:00", "kind": "site_page", "missing": false, "url": "http://docs.mockery.io/en/stable/getting_started/installation.html"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:10:43.866121+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:10:43.866121+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:10:43.866121+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:17:56.423672+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fc16b49cbedc6dbc60f898f9ca52e2b65e4d6bbbcc235bceddecde80fb53ec62", "fetched_at": "2026-08-28T04:10:43.866121+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mockery/mockery"}, {"content_hash": "518d4451711985d6f65a6d1fc44d760c2d2f6ae3157cbb8348fc90f1708126c0", "fetched_at": "2026-08-29T08:17:01.057230+00:00", "kind": "homepage", "missing": false, "url": "http://docs.mockery.io/en/stable/"}, {"content_hash": "7dde64d2fd3bdf14dac29bd3748311854a9c29012650116ab0518649bbe22e4d", "fetched_at": "2026-08-29T08:17:01.066419+00:00", "kind": "site_page", "missing": false, "url": "http://docs.mockery.io/en/stable/getting_started/installation.html"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:10:43.866121+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:10:43.866121+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:17:56.423672+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fc16b49cbedc6dbc60f898f9ca52e2b65e4d6bbbcc235bceddecde80fb53ec62", "fetched_at": "2026-08-28T04:10:43.866121+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mockery/mockery"}, {"content_hash": "518d4451711985d6f65a6d1fc44d760c2d2f6ae3157cbb8348fc90f1708126c0", "fetched_at": "2026-08-29T08:17:01.057230+00:00", "kind": "homepage", "missing": false, "url": "http://docs.mockery.io/en/stable/"}, {"content_hash": "7dde64d2fd3bdf14dac29bd3748311854a9c29012650116ab0518649bbe22e4d", "fetched_at": "2026-08-29T08:17:01.066419+00:00", "kind": "site_page", "missing": false, "url": "http://docs.mockery.io/en/stable/getting_started/installation.html"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:17:56.423672+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fc16b49cbedc6dbc60f898f9ca52e2b65e4d6bbbcc235bceddecde80fb53ec62", "fetched_at": "2026-08-28T04:10:43.866121+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mockery/mockery"}, {"content_hash": "518d4451711985d6f65a6d1fc44d760c2d2f6ae3157cbb8348fc90f1708126c0", "fetched_at": "2026-08-29T08:17:01.057230+00:00", "kind": "homepage", "missing": false, "url": "http://docs.mockery.io/en/stable/"}, {"content_hash": "7dde64d2fd3bdf14dac29bd3748311854a9c29012650116ab0518649bbe22e4d", "fetched_at": "2026-08-29T08:17:01.066419+00:00", "kind": "site_page", "missing": false, "url": "http://docs.mockery.io/en/stable/getting_started/installation.html"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:17:56.423672+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fc16b49cbedc6dbc60f898f9ca52e2b65e4d6bbbcc235bceddecde80fb53ec62", "fetched_at": "2026-08-28T04:10:43.866121+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mockery/mockery"}, {"content_hash": "518d4451711985d6f65a6d1fc44d760c2d2f6ae3157cbb8348fc90f1708126c0", "fetched_at": "2026-08-29T08:17:01.057230+00:00", "kind": "homepage", "missing": false, "url": "http://docs.mockery.io/en/stable/"}, {"content_hash": "7dde64d2fd3bdf14dac29bd3748311854a9c29012650116ab0518649bbe22e4d", "fetched_at": "2026-08-29T08:17:01.066419+00:00", "kind": "site_page", "missing": false, "url": "http://docs.mockery.io/en/stable/getting_started/installation.html"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:17:56.423672+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fc16b49cbedc6dbc60f898f9ca52e2b65e4d6bbbcc235bceddecde80fb53ec62", "fetched_at": "2026-08-28T04:10:43.866121+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mockery/mockery"}, {"content_hash": "518d4451711985d6f65a6d1fc44d760c2d2f6ae3157cbb8348fc90f1708126c0", "fetched_at": "2026-08-29T08:17:01.057230+00:00", "kind": "homepage", "missing": false, "url": "http://docs.mockery.io/en/stable/"}, {"content_hash": "7dde64d2fd3bdf14dac29bd3748311854a9c29012650116ab0518649bbe22e4d", "fetched_at": "2026-08-29T08:17:01.066419+00:00", "kind": "site_page", "missing": false, "url": "http://docs.mockery.io/en/stable/getting_started/installation.html"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 98, "longevity": 100, "rhythm": 98}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 6398, "days_push": 14, "days_rel": 14, "gap_med": 1.5, "n_releases_24m": 3}, "score": 98, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}