{"id":17197690,"url":"https://github.com/dmcg/xprolo-approvals","last_synced_at":"2025-09-09T11:39:41.624Z","repository":{"id":31776512,"uuid":"35342863","full_name":"dmcg/xprolo-approvals","owner":"dmcg","description":null,"archived":false,"fork":false,"pushed_at":"2015-05-17T21:16:25.000Z","size":160,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-25T08:36:55.217Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dmcg.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-05-09T19:51:46.000Z","updated_at":"2015-05-09T19:52:21.000Z","dependencies_parsed_at":"2022-09-10T09:41:23.989Z","dependency_job_id":null,"html_url":"https://github.com/dmcg/xprolo-approvals","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/dmcg/xprolo-approvals","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dmcg%2Fxprolo-approvals","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dmcg%2Fxprolo-approvals/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dmcg%2Fxprolo-approvals/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dmcg%2Fxprolo-approvals/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dmcg","download_url":"https://codeload.github.com/dmcg/xprolo-approvals/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dmcg%2Fxprolo-approvals/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274291358,"owners_count":25258156,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-09T02:00:10.223Z","response_time":80,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-15T01:57:05.609Z","updated_at":"2025-09-09T11:39:41.597Z","avatar_url":"https://github.com/dmcg.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"Summary\n=======\n\nApprovals tests are useful when\n\n1. You don't know what you want to test for, but you'll know it when you see it.\n2. You do know what you want to test for, but it's complicated.\n3. Retrofitting tests to existing code.\n\nSteps\n\n1. Find a form of test result that is stable and easily compared.\n2. Eyeball it and decide when it's right.\n3. When it is, make it approved in the test or a file and have future test runs\n   compare their results against the approved version.\n4. If the results differ, use a differ.\n\nResources\n\n- @duncanmcg\n- [Llewellyn Falco](http://approvaltests.sourceforge.net/)\n- [Okey-doke](http://github.com/dmcg/okeydoke)\n- [Fakir](http://github.com/dmcg/fakir)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdmcg%2Fxprolo-approvals","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdmcg%2Fxprolo-approvals","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdmcg%2Fxprolo-approvals/lists"}