Test Suite

Test suite for Keyv API compliance

build codecov npm npm

Complete Vitest test suite to test a Keyv storage adapter for API compliance.

Usage

Install

Install vitest, keyv and @keyv/test-suite as development dependencies.

npm install --save-dev vitest keyv @keyv/test-suite

Then update keyv and @keyv/test-suite versions to * in package.json to ensure you're always testing against the latest version.

Create Test File

test.js

import test from 'vitest';
import keyvTestSuite from '@keyv/test-suite';
import Keyv from 'keyv';
import KeyvStore from './';

const store = () => new KeyvStore();
keyvTestSuite(test, Keyv, store);

Where KeyvStore is your storage adapter.

Set your test script in package.json to vitest.

"scripts": {
  "test": "vitest"
}

Example for Storage Adapters

Take a look at keyv/redis for an example of an existing storage adapter using @keyv/test-suite.

Testing Compression Adapters

If you're testing a compression adapter, you can use the keyvCompresstionTests method instead of keyvTestSuite.

import test from 'vitest';
import { keyvCompresstionTests, KeyvGzip } from '@keyv/test-suite';
import Keyv from 'keyv';

keyvCompresstionTests(test, new KeyvGzip());

License

MIT © Jared Wray