В нашем угловом приложении мы используем файлы окружения для загрузки некоторой конфигурации.
environment.ts
export const environment = {
production: false,
defaultLocale: 'en_US',
};
Затем мы используем его в одном из наших сервисов:
import { environment } from '../../environments/environment';
import { TranslateService } from './translate.service';
@Injectable()
export class LocaleService {
constructor(private translateService: TranslateService){}
useDefaultLocaleAsLang(): void {
const defaultLocale = environment.defaultLocale;
this.translateService.setUsedLang(defaultLocale);
}
}
Поэтому я использую значения в файле среды в методе службы.
В нашем тестовом файле мы можем, конечно, Spy на translateService:
translateService = jasmine.createSpyObj('translateService', ['setUsedLang']);
Но я не знаю, как издеваться над значениями среды в моем тестовом файле (например, в beforeEach
). Или даже преобразовать его, для целей тестирования, в Subject
чтобы я мог ее изменить и протестировать по-разному.
В более общем плане, как вы можете издеваться над такими значениями импорта в тестах, чтобы не использовать реальные значения?