Вы можете использовать Прикрепления TypeORM , они позволяют создавать осветительные приборы / поддельные данные для использования при разработке или тестировании кода.
npm install typeorm-fixtures-cli --save-dev
Приспособления могут быть выражены в файлах YAML. Например:
entity: User
items:
user{1..10}:
username: bob
fullname: Bob
birthDate: 1980-10-10
email: bob@example.org
favoriteNumber: 42
Библиотека объединяет Faker , чтобы помочь генерировать поддельные данные, такие как имена, адреса электронной почты, номера телефонов и т. Д. Вы также можете установить отношения между различными приборами.
После этого вы можете загрузить приборы и использовать их с TypeORM.
const loadFixtures = async (fixturesPath: string) => {
let connection;
try {
connection = await createConnection();
await connection.synchronize(true);
const loader = new Loader();
loader.load(path.resolve(fixturesPath));
const resolver = new Resolver();
const fixtures = resolver.resolve(loader.fixtureConfigs);
const builder = new Builder(connection, new Parser());
for (const fixture of fixturesIterator(fixtures)) {
const entity = await builder.build(fixture);
await getRepository(entity.constructor.name).save(entity);
}
} catch (err) {
throw err;
} finally {
if (connection) {
await connection.close();
}
}
};
Это можно объединить с базой данных SQLLite в памяти. Просто попросите TypeORM создать базу данных на основе метаданных сущности. Используйте приспособления для загрузки поддельных данных в базу данных в памяти, а затем запустите свои тесты.