gpt4 book ai didi

unit-testing - Angular 2 单元测试错误 : Cannot resolve all parameters for 'RequestOptions'

转载 作者:太空狗 更新时间:2023-10-29 17:02:05 26 4
gpt4 key购买 nike

我想测试一个具有一些依赖关系的简单组件。因此,除其他外,我必须提供一些提供者。

/* tslint:disable:no-unused-variable */

import { By } from '@angular/platform-browser';
import { DebugElement, provide } from '@angular/core';

import {
beforeEach,
beforeEachProviders,
describe,
expect,
it,
inject,
fakeAsync,
TestComponentBuilder
} from '@angular/core/testing';

import { AuthHttp, AuthConfig } from 'angular2-jwt';
import { Router, provideRouter } from '@angular/router';
import { Http, ConnectionBackend, RequestOptions, HTTP_PROVIDERS } from '@angular/http';
import { LogoutButtonComponent } from './logout-button.component';
import { UserService } from '../../services/index';

describe('Component: LogoutButtonComponent', () => {

let component: LogoutButtonComponent;

beforeEachProviders(() => [
LogoutButtonComponent,
Http,
provide(AuthHttp, { useFactory: Http }),
provide(AuthConfig, { useValue: new AuthConfig() }),
ConnectionBackend,
RequestOptions,
UserService
]);

beforeEach(inject([AuthHttp, UserService, LogoutButtonComponent],
(comp: LogoutButtonComponent) => {
component = comp;
}));

it('should inject UserService', () => {
// My test here
});

});

虽然我收到以下错误:

Error: Cannot resolve all parameters for 'RequestOptions'(?). Make sure that all the parameters are decorated with Inject or have valid type annotations and that 'RequestOptions' is decorated with Injectable.

我是否遗漏了 beforeEachProviders 函数中的某些内容?

注意:此问题仅与使用 Jasmine 对 Angular 2 进行单元测试有关。我没有搜索与引导应用程序相关的信息,因为这在我的应用程序中已经可以了,这里还有其他相关问题。

最佳答案

您必须将 HttpModule 导入到您的 TestBed 配置中。

import { HttpModule } from "@angular/http";

TestBed.configureTestingModule({
imports: [
HttpModule
]
});

在那之后单元测试应该可以工作👌🏻

关于unit-testing - Angular 2 单元测试错误 : Cannot resolve all parameters for 'RequestOptions' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38400655/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com