我使用TypeORMModule为DataSource提供配置:
@Module({
imports: [
ConfigModule.forRoot({
isGlobal: true,
envFilePath: `.env.${process.env.NODE_ENV}`,
}),
TypeOrmModule.forRootAsync({
inject: [ConfigService],
useFactory: (config: ConfigService) => {
return {
type: 'postgres',
// host has to be the container name of the database
host: config.get<string>('POSTGRES_HOST'),
port: parseInt(config.get('POSTGRES_PORT')),
username: config.get<string>('POSTGRES_USER'),
password: config.get<string>('POSTGRES_PASSWORD'),
database: config.get<string>('POSTGRES_DB'),
synchronize: true,
entities: [User],
};
},
}),
UsersModule,
],
})
如何为每个测试清除数据库?
1条答案
按热度按时间brvekthn1#
你可以写一个实用函数来truncates所有的数据库表:
然后在你的测试文件中,你只需要使用
afterEach
调用这个函数: