{"ref":"artifact:abap-test-double-framework","page":"/artifacts/abap-test-double-framework","json":"/artifacts/abap-test-double-framework.json","generated":"2026-11-09","drafted_with_ai":true,"entity":{"id":"abap-test-double-framework","name":"ABAP Test Double Framework","artifact_type":"platform","ecosystem":"abap","domain":"developer-experience","origin_ring":"sap-official","use_as":"dependency","description":{"one_line":"The test double framework delivered with the ABAP platform: `CL_ABAP_TESTDOUBLE` creates a double of a global interface or class, configures what each call answers, and verifies the calls made on it.","short":"Platform test doubles through CL_ABAP_TESTDOUBLE","what_it_solves":"A unit test needs the depended-on components of the code under test replaced by something the test controls. `CL_ABAP_TESTDOUBLE` creates the double and takes over its calls: `create` makes it, `configure_call` sets the returning, exporting and changing parameters, the exceptions and the events for a method call, and `verify_expectations` checks the interactions, such as how often a method was called with given input parameters. Doubles are supported for global interfaces since SAP NetWeaver 7.4 SP9 and for global classes since AS ABAP 7.53. Nothing versions it independently and there is nothing to install: it is what the ABAP platform gives a test class.","when_not_to_use":"The documentation lists what it does not support: local interfaces and local classes, classic exceptions, classes marked `FINAL` or `FOR TESTING`, classes with `CREATE PRIVATE`, classes whose constructor has mandatory parameters or logic that terminates, and configuration of methods marked `FINAL`, `STATIC` or `PRIVATE`."},"links":{"docs":"https://help.sap.com/docs/abap-cloud/abap-development-tools-user-guide/abap-oo-test-double-framework"},"provides":[{"capability":"capability:abap-unit-testing","what_it_does":"Creates and configures the test doubles that replace the depended-on components of the code under test, and verifies the interactions on the double.","sources":[{"url":"https://help.sap.com/docs/abap-cloud/abap-development-tools-user-guide/abap-oo-test-double-framework","title":"ABAP OO Test Double Framework — SAP Help Portal","checked":"2026-11-03","quote":"Test doubles are used in unit test environments to replace depended-on components that are used by the methods being tested."},{"url":"https://help.sap.com/docs/abap-cloud/abap-development-tools-user-guide/abap-oo-test-double-framework","title":"ABAP OO Test Double Framework — SAP Help Portal, verification","checked":"2026-11-03","quote":"Additionally, the framework provides functions for verifying any interactions on the double object, such as the number of times a method was called with specific input parameters."},{"url":"https://help.sap.com/docs/abap-cloud/abap-development-tools-user-guide/abap-oo-test-double-framework","title":"ABAP OO Test Double Framework — SAP Help Portal, API","checked":"2026-11-03","quote":"For creating a test double, use the CL_ABAP_TESTDOUBLE class and call its static methods create , configure_call , and verify_expectations in the test class."},{"url":"https://help.sap.com/docs/abap-cloud/abap-development-tools-user-guide/abap-oo-test-double-framework","title":"ABAP OO Test Double Framework — SAP Help Portal, configuration","checked":"2026-11-03","quote":"The output of a method call can be configured easily using the framework API. The values of returning, exporting and changing parameters, as well as any exceptions and events can be configured for each method call."},{"url":"https://help.sap.com/docs/abap-cloud/abap-development-tools-user-guide/abap-oo-test-double-framework","title":"ABAP OO Test Double Framework — SAP Help Portal, Restriction","checked":"2026-11-03","quote":"The framework supports the creation of test doubles for global interfaces (since SAP NetWeaver 7.4 SP9) and global classes (since back-end version AS ABAP 7.53 )."}]}],"provenance":{"discovered_via":[{"source":"source:github"}],"first_seen":"2026-11-03"},"drafted_with_ai":true},"effective_normative_relations":[],"readings":{"liveness":[{"label":"Maintenance","tier":"unknown","evidence":"no release data"},{"label":"Continuity","tier":"unknown","evidence":"no contributor data"},{"label":"Repository","tier":"unknown","evidence":"no repository data"}],"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":"unknown","evidence":"no repository data"}],"practice":[{"label":"Tests","tier":"unknown","evidence":"not crawled"},{"label":"Docs","tier":"unknown","evidence":"docs link declared, tree not read"},{"label":"Changelog","tier":"unknown","evidence":"not crawled"}],"reach":[{"value":null,"unit":"installs/week"},{"value":null,"unit":"watching"}]},"signals":{"crawled_at":"2026-11-07","npm":"not published under this name"},"edges":{"maintainers":[],"contributors":[],"explained_by":[],"alternative_to_this":[],"needed_by":[{"ref":"artifact:greltel-abap-test-kit","name":"ABAP Test Kit","json":"/artifacts/greltel-abap-test-kit.json","requirement":"required","role":"framework"}],"available_via":[],"parts":[],"add_ons":[{"ref":"artifact:greltel-abap-test-kit","name":"ABAP Test Kit","json":"/artifacts/greltel-abap-test-kit.json"}],"answered_through_parts":[]}}