ABAP Test Double Framework
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.
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.
Where it sits
Before choosing this
Conditions
PracticalFunctional boundary
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.
What it declares
Every artifact
- Type
- Platform
- Origin
- By SAP
Parts and add-ons
Add-ons 1
Connections
Testing application logic, with test doubles for its dependencies
Fluent test doubles for ABAP Unit around CL_ABAP_TESTDOUBLE
Download
Others providing
Compare all 25 on the Unit testing page →- abap2UI5 headless frontendabap2UI5 headless frontendPlays the frontend's side of the abap2UI5 request/response contract in ABAP, so an app class is driven and asserted on from a plain ABAP Unit test.community org, abapDrives abap2UI5 app classes from ABAP Unit testsfrom ABAP
- @abap2ui5/mcp-server@abap2ui5/mcp-serverAn MCP server that puts the abap2UI5 development loop on the machine an agent runs on: check the view the ABAP builds, photograph it, deploy the class into a sandbox, boot the app headless and read the errors.community org, abapMCP server for the abap2UI5 check, deploy and run loopfrom ABAP
- assertassertA fluent assertion helper for ABAP Unit tests that wraps cl_abap_unit_assert in chained calls such as assert(x)->equals(y), also usable outside tests through ZCL_ASSERTABLE.independent, abapFluent assertion helper for ABAP Unit testsfrom ABAP
- @abaplint/transpiler@abaplint/transpilerTranspiles ABAP 7.02 syntax to ES6 JavaScript, so ABAP code and its unit tests run on Node.js in CI without an ABAP system, with optional SQLite, PostgreSQL, Snowflake or SAP HANA drivers.community org, abapTranspiles ABAP to JavaScript to run on Node.jsfrom ABAP
- Modernization Agents for SAP on AWSModernization Agents for SAP on AWSAWS's suite of agents for SAP modernisation work: custom ABAP converted for S/4HANA, PI/PO interfaces moved to Integration Suite, BW objects moved to SAP Datasphere, deployed into a customer's own AWS account and reached only after registration.partner, abapAWS agents for ABAP, PI/PO and BW modernisation workfrom ABAP
- abap_db_preparatorabap_db_preparatorA wrapper over ABAP's OpenSQL replacement service that exports chosen rows into a stored bundle and, in a unit test's setup, replays it as fake table content in two method calls.independent, abapReplays stored database snapshots in ABAP unit testsfrom ABAP
- cacamber-BDD-for-ABAPcacamber-BDD-for-ABAPA BDD framework for ABAP that turns Gherkin-style Given/When/Then scenarios into ABAP Unit test steps, matching each step against a regular expression and calling the test class method it maps to.independent, abapBDD framework turning Given/When/Then into ABAP Unit stepsfrom ABAP
- abap-utesthelpabap-utesthelpTwo helper classes for ABAP Unit tests: one verifies a domain constant class against its domain's fixed values, the other creates test doubles without naming the interface.independent, abapHelper classes for ABAP Unit tests and test doublesfrom ABAP
- ABAP Debugger Data View ExtensionABAP Debugger Data View ExtensionAn extension of the ABAP New Debugger that renders the internal table or structure on screen as a typed VALUE statement, ready to paste into an ABAP Unit test.independent, abapDebugger menu entry rendering a table or structure as VALUE codefrom ABAP
- regression_testregression_testA 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.independent, abapSnapshot testing library for ABAP, from debugger or unit testfrom ABAP
- ABAP Test KitABAP Test KitA library that puts a fluent API on SAP's ABAP Test Double Framework: dummy, stub, spy and mock doubles of a global interface from one facade class, written against the ABAP for Cloud Development language version.independent, abapFluent test doubles for ABAP Unit around CL_ABAP_TESTDOUBLEfrom ABAP
- abapCovabapCovA report, ZABAPCOV, that uploads ABAP Unit test code coverage results to codecov.io, once the repository is installed through abapGit and codecov.io's certificates through STRUST.independent, abapUploads ABAP Unit code coverage to codecov.iofrom ABAP
- ABAP remote filesystemABAP remote filesystemA Visual Studio Code extension that opens an ABAP system over ADT as an editable filesystem and exposes system tools to GitHub Copilot and external MCP clients.independent, abapVS Code extension editing ABAP systems over ADT as a filesystemfrom ABAP
- open-steamgateopen-steamgateAn ABAP application server you clone and run on your own machine: transpiled ABAP serving classic /IWBEP/ OData v2 to Fiori over a local database, with no SAP system attached.independent, abapLocal ABAP server serving /IWBEP/ OData v2 without an SAP systemfrom ABAP
- express-icf-shimexpress-icf-shimA shim that runs an ABAP ICF handler written against if_http_extension behind an Express 4.x server, for ABAP transpiled to JavaScript and run on Node.js in testing and continuous integration.community org, abapShim running an ABAP ICF handler behind an Express 4.x serverfrom ABAP
- open-abap-coreopen-abap-coreReusable ABAP functionality for code transpiled by @abaplint/transpiler: the core ABAP artifacts that code runs against on Node.js.community org, abapCore ABAP artifacts for code transpiled by @abaplint/transpilerfrom ABAP
- ABAP Development Tools for VS CodeABAP Development Tools for VS CodeSAP's ABAP tools in VS Code: editing and debugging against a connected system, ABAP Unit and ATC runs, transport management in the Transport Organizer, over RFC to an on-premise system or HTTP to a cloud one, with the ADT MCP Server behind an AI-unit licence.sap official, abapSAP's ABAP tools in VS Code, over RFC to on-premise or HTTP to cloudfrom ABAP
- mockup_loadermockup_loaderA tool that loads ABAP unit test data prepared in Excel as TAB-delimited text into ABAP structures and tables, and generates interface stubs that return that mock data.independent, abapLoader of Excel-prepared ABAP unit test data, with stub generationfrom ABAP
- mockAmockAA free mocking framework for ABAP, published under the Apache License 2.0.independent, abapA free mocking framework for ABAP, published under the Apache License 2.0.from ABAP
- Vise_for_ABAPVise_for_ABAPA characterisation-test helper: ZCL_VISE=>GRIP records a field's value once and fails a later run if it has changed.independent, abapA characterisation-test helper: `ZCL_VISE=>GRIP` records a field's value once and fails a later run if it has changed.from ABAP
- abap-senchaabap-senchaA BDD/TDD assertion library for ABAP Unit, styled after the JavaScript library Chai.js, that wraps cl_abap_unit_assert in chainable expect, should and assert styles.independent, abapBDD/TDD assertion library for ABAP Unit, styled after Chai.jsfrom ABAP
- abap-test-containerabap-test-containerA test data container for ABAP Cloud that loads unit test data in JSON, XML or raw formats from GitHub and maps it onto the target structure, filling the platform's missing native one.independent, abapGitHub-hosted test data container for ABAP Cloudfrom ABAP
- abap-unit-runnerabap-unit-runnerAn application job that runs and schedules ABAP Unit tests in SAP's ABAP Environment through the SAP_COM_0735 API, where the on-premise test runner has no SAP GUI to run from.independent, abapApplication job that runs and schedules ABAP Unit tests in the cloudfrom ABAP
- adash-servicesadash-servicesThe backend service behind ADASH Cli, exposing ABAP Unit test runs and coverage as REST and OData services for CI/CD pipelines, with a report scheduled to run tests per package.independent, abapBackend exposing ABAP Unit runs and coverage over REST and ODatafrom ABAP
Details
Sources
Sources are graph entities: the same page may back several entries, and an unreachable source flags every row that rests on it.
Compatibility and provenance
History in the atlas
- First seen.
For your agent
- Ref
artifact:abap-test-double-framework- JSON
- /artifacts/abap-test-double-framework.json
- MCP
- Connecting an agent