在测试组件或服务时出现错误
ReferenceError:未定义flagPath
flagPath
来自资产文件夹中的 config.js 文件。有没有办法将其添加到TestBed
?
我正在使用笑话,但不确定在哪里添加它。我已经读过在业力中,您可以将其添加到Var文件中...
//imports...
declare var flagPath: string;
@Injectable({
providedIn: 'root'
})
export class Service {
constructor(private http: HttpClient) {}
getMaxContent(): Observable < any > {
return this.http.get(flagPath);
}
在我的测试中,所有工作都是在测试真实性,如下所示:
let service: Service;
beforeEach(async(() = > {
TestBed.configureTestingModule({
schemas: [CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA],
declarations: [
OverviewComponent,
],
imports: [],
providers: [Service, HttpClient],
}).compileComponents();
}));
beforeEach(() = > {
fixture = TestBed.createComponent(OverviewComponent);
service = fixture.debugElement.injector.get(Service);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create', async() = > {
component.ngOnInit();
fixture.whenStable();
expect(component).toBeTruthy();
});
答案 0 :(得分:0)
通过使用全局“声明”,显然使这变得复杂,因此我重构了代码并删除了“声明” 相反,我在服务中使用了网址。这就解决了这个问题。