我正在为我的NestJS应用程序使用Redis缓存,并且我正在维护redisCache.module.ts
以进行Redis配置。但是我的单元测试失败了,因为它正在尝试连接到Redis服务器。我该如何解决这个问题?
redisCache.module.ts
import { Module, CacheModule } from '@nestjs/common';
import { ConfigModule, ConfigService } from '@nestjs/config';
import * as redisStore from 'cache-manager-redis-store';
import { RedisCacheService } from './redisCache.service';
@Module({
imports: [
CacheModule.registerAsync({
imports: [ConfigModule],
inject: [ConfigService],
useFactory: async (configService: ConfigService) => ({
store:redisStore,
host: configService.get('REDIS_HOST'),
port: configService.get('REDIS_PORT'),
ttl: configService.get('REDIS_CACHE_TTL'),
}),
}),
],
providers: [RedisCacheService],
exports: [RedisCacheService]
})
export class RedisCacheModule {}
redisCache.module.spec.ts
import { CacheModule, CACHE_MANAGER } from '@nestjs/common';
import { Test, TestingModule } from '@nestjs/testing';
import { RedisCacheService } from './redisCache.service';
import { RedisCacheModule } from './redisCache.module';
import { Cache } from 'cache-manager';
describe('RedisCacheModule', () => {
let redisCacheService: RedisCacheService;
let redisCacheModule: RedisCacheModule;
let cache: Cache;
beforeEach(async () => {
const module: TestingModule = await Test.createTestingModule({
providers: [RedisCacheService],
imports: [CacheModule.register({}),RedisCacheModule],
}).compile();
redisCacheService = module.get<RedisCacheService>(RedisCacheService);
redisCacheModule = module.get<RedisCacheModule>(RedisCacheModule);
cache = module.get(CACHE_MANAGER);
});
it('RedisCacheService should be defined', () => {
expect(redisCacheService).toBeDefined();
});
it('RedisCacheModule should be defined', () => {
expect(redisCacheModule).toBeDefined();
});
});
错误