Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

@cap-js/cds-test

cap-js10kSEE LICENSE IN LICENSE0.3.0

Test Support for CAP Node.js

CAP, CDS

readme

Test Support for CAP Node.js

About this project

This is a library with test utilities for CAP Node.js applications, like

  • Starting and stopping a CAP server before and after tests
  • A bound HTTP client for the server
  • chai-like assertion helpers

Requirements and Setup

In your application project, just install the package as dev dependency:

npm add -D @cap-js/cds-test

Usage

Add a simple test file test/bookshop.test.js with this content:

const cds = require('@sap/cds')

describe('Sample tests', () => {
  const { GET, expect } = cds.test (__dirname+'/..')

  it('serves Books', async () => {
    const { data } = await GET `/odata/v4/catalog/Books`
    expect(data.value.length).to.be.greaterThanOrEqual(5)
  })
})

Run it with Jest, for example:

npx jest

node --test and mocha runners are supported, too, though with less coverage in real-life projects.

Documentation

See the CAP documentation on cds.test for more.

Support, Feedback, Contributing

This project is open to feature requests/suggestions, bug reports etc. via GitHub issues. Contribution and feedback are encouraged and always welcome. For more information about how to contribute, the project structure, as well as additional contribution information, see our Contribution Guidelines.

Security / Disclosure

If you find any bug that may be a security problem, please follow our instructions at in our security policy on how to report it. Please do not create GitHub issues for security-related doubts or problems.

Code of Conduct

We as members, contributors, and leaders pledge to make participation in our community a harassment-free experience for everyone. By participating in this project, you agree to abide by its Code of Conduct at all times.

Licensing

Copyright 2024-2025 SAP SE or an SAP affiliate company and cds-test contributors. Please see our LICENSE for copyright and license information. Detailed information including third-party components and their licensing/copyright information is available via the REUSE tool.

changelog

Change Log

All notable changes to this project will be documented in this file.

This project adheres to Semantic Versioning.

The format is based on Keep a Changelog.

[0.3.0] - 2025-04-03

Added

  • add toBeNull matcher to Jest expectations

Changed

  • Many changes to the experimental test runner.

Fixed

  • Prevent jest and mocha from giving random timeout errors if cds.test.data.reset is used.

[0.2.0] - 2025-03-04

Changed

  • @sap/cds 8.8.0 is required at the minimum

[0.1.2] - 2025-02-21

Added

  • Publish to NPM with provenance attestation

[0.1.1] - 2025-02-21

Fixed

  • Cleanups

[0.1.0] - 2025-02-21

Added

  • Initial version