{"ref":"artifact:germanysources-regression-test","page":"/artifacts/germanysources-regression-test","json":"/artifacts/germanysources-regression-test.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"germanysources-regression-test","name":"regression_test","artifact_type":"package","ecosystem":"abap","domain":"developer-experience","origin_ring":"independent","description":{"one_line":"A snapshot library for ABAP that records a value once and compares against it on every later run, from either the debugger or a unit test, storing snapshots in eCATT test data containers.","short":"Snapshot testing library for ABAP, from debugger or unit test","what_it_solves":"Snapshot testing in ABAP: a value is recorded once, trusted as correct, and later runs are compared against it. Inside a unit test that is class `zdbgl_snapshots_tdc`, whose `compare_or_record` either compares the value it is given with the recorded one or records it, each value under a unique name, with the SET/GET parameter `ZDBGL_SNAP_RECORD` deciding which; the snapshot is stored in an eCATT test data container and compared through `cl_abap_unit_assert=>assert_equals` unless the `compare` method is overridden. The other route is the debugger script `zdbgl_script_store_in_tdc`, which writes a snapshot at a breakpoint into a test data container that already exists, and a unit test then reads it back with `cl_apl_ecatt_tdc_api`; the README gives this as the way around the `COMMIT WORK` that updating a snapshot from a unit test issues. A legacy API that kept debugger snapshots in the database tables `zdbgl_variables` and `zdbgl_locals` is documented separately, in the repository's docs folder.","when_not_to_use":"Values the test data container cannot hold: references of any kind, complex structures, and tables whose line type is a complex structure or another table. Structures must be defined in the ABAP Dictionary, so one declared locally cannot be stored at all."},"links":{"repo":"https://github.com/germanysources/regression_test"},"type_properties":{"placement":{"value":"in-host","sources":[{"url":"https://github.com/germanysources/regression_test","title":"germanysources/regression_test — README, Installation","checked":"2026-10-19","quote":"Installation is done with abapGit. ABAP 7.40 or higher is needed. All ABAP-objects have the prefix `zdbgl`."}]},"distribution":{"value":["abapgit"],"sources":[{"url":"https://github.com/germanysources/regression_test","title":"germanysources/regression_test — README, Installation","checked":"2026-10-19","quote":"Installation is done with abapGit. ABAP 7.40 or higher is needed. All ABAP-objects have the prefix `zdbgl`."}]}},"identity":{"license":"MIT"},"source_available":true,"provides":[{"capability":"capability:abap-unit-testing","what_it_does":"Records a value once as a trusted snapshot, from a unit test or a debugger breakpoint, and compares later runs against it.","sources":[{"url":"https://github.com/germanysources/regression_test","title":"germanysources/regression_test — README, Snapshots","checked":"2026-10-19","quote":"Create snapshots either in the debugger or directly in your unit-tests."}]}],"requires":[{"ref":"artifact:abap-logger-abap-logger","for":"Displays interactive messages; the README lists it under its own Dependencies heading, with no condition stated.","sources":[{"url":"https://github.com/germanysources/regression_test","title":"germanysources/regression_test — README, Dependencies","checked":"2026-09-14","quote":"- [ABAP-Logger](https://github.com/ABAP-Logger/ABAP-Logger) is used for display interactive messages"}]},{"ref":"artifact:abapgit-abapgit","for":"Installs the repository into the ABAP system; the README gives abapGit as the only installation route.","sources":[{"url":"https://github.com/germanysources/regression_test","title":"germanysources/regression_test — README, Installation","checked":"2026-10-19","quote":"Installation is done with abapGit. ABAP 7.40 or higher is needed."}]}],"maintainers":["actor:germanysources"],"drafted_with_ai":true,"provenance":{"discovered_via":[{"source":"source:curator"}],"first_seen":"2026-09-14"},"contributors":["actor:germanysources"]},"effective_normative_relations":[],"readings":{"liveness":[{"label":"Maintenance","tier":"unknown","evidence":"no release data"},{"label":"Continuity","tier":"fair","evidence":"one contributor, personally owned"},{"label":"Repository","tier":"poor","evidence":"pushed 2024-06, not archived"}],"compatibility":[{"label":"Declared for","tier":"fair","evidence":"nothing declared"},{"label":"Survived majors","tier":"unknown","evidence":"not read on ABAP: its lines run side by side"},{"label":"Maintainer's CI","tier":"fair","evidence":"no CI configured"}],"practice":[{"label":"Tests","tier":"poor","evidence":"none found in the tree"},{"label":"Docs","tier":"good","evidence":"docs/ with 1 page, README 7 KB"},{"label":"Changelog","tier":"fair","evidence":"none in the repo"}],"reach":[{"value":null,"unit":"installs/week"},{"value":11,"unit":"watching"}]},"signals":{"crawled_at":"2026-10-24","npm":"not published under this name","stars":11,"forks":4,"open_issues":1,"archived":false,"pushed_at":"2024-06-24","license_spdx":"MIT","org_owned":false,"default_branch":"master","created_at":"2019-10-30T11:36:57Z","open_prs":0,"tree_truncated":false,"test_files":0,"workflows":0,"other_ci":false,"readme_bytes":6876,"docs_files":1,"changelog":false,"license_file":true,"dts_files":0,"first_commit":"2019-04-16","last_commit":"2024-06-24","commits":48,"contributors":1,"readme_path":"README.md","readme_sha":"38fb9df5411b193aa9f4bb67e60a0073bfa6d01e","repo_read":"2026-10-24"},"edges":{"maintainers":[{"ref":"actor:germanysources","name":"Johannes Gerbershagen","json":"/actors/germanysources.json"}],"contributors":[{"ref":"actor:germanysources","name":"Johannes Gerbershagen","json":"/actors/germanysources.json"}],"explained_by":[],"alternative_to_this":[],"needed_by":[],"available_via":[],"parts":[],"add_ons":[],"answered_through_parts":[]}}