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.
- Primero, instala
@shelf/jest-dynamodb
yarn add @shelf/jest-dynamodb --dev
- Specify preset in your Jest configuration:
{
"preset": "@shelf/jest-dynamodb"
}
- 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);
- 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',
});
});
- 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.