Skip to main content
Version: 27.0

Usar Jest con DynamoDB

Con las API Setup/Teardown Global y Ambiente Asíncrono de Test , Jest puede funcionar sin problemas con DynamoDB.

Utiliza el preset de jest-dynamodb#

Jest DynamoDB proporciona toda la configuración necesaria para ejecutar test que usan DynamoDB.

  1. Primero, instala @shelf/jest-dynamodb
yarn add @shelf/jest-dynamodb --dev
  1. Specify preset in your Jest configuration:
{
"preset": "@shelf/jest-dynamodb"
}
  1. Configurar cliente DynamoDB

Véase el API de crear tablas

const {DocumentClient} = require('aws-sdk/clients/dynamodb');
const esTest = process.env.JEST_WORKER_ID;
const config = {
convertEmptyValues: true,
...(esTest && {
endpoint: 'localhost:8000',
sslEnabled: false,
region: 'local-env',
}),
};
const ddb = new DocumentClient(config);
  1. Escribe Tests
it('debería insertar elemento en la tabla', async () => {
await ddb
.put({TableName: 'archivos', Objeto: {id: '1', hola: 'mundo'}})
.promise();
const {Item} = await ddb.get({TableName: 'archivos', Key: {id: '1'}}).promise();
expect(Item).toEqual({
id: '1',
hola: 'mundo',
});
});
  1. Escribe Tests
it('debería insertar elemento en la tabla', async () => {
await ddb
.put({TableName: 'archivos', Objeto: {id: '1', hola: 'mundo'}})
.promise();
const {Item} = await ddb.get({TableName: 'archivos', Key: {id: '1'}}).promise();
expect(Item).toEqual({
id: '1',
hola: 'mundo',
});
});

There's no need to load any dependencies.

Veáse la documentación para más detalles.