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