どのように私はインデックスを持っていません(角度で)キーと値のペアのリストを欺くのですか?

Saurabhグプタ:

私はユニットテストしていた角度を使用してアプリケーションをジャスミンをし、私はそれにしています。アプリケーションがで書かれたバックエンドがある春のブートいくつかのAPIを公開し、。

APIの(GETリクエスト)のいずれかから受信したコンテンツがあるマップされたキー、値(オブジェクト、値)のペアのリスト

どのような私が欲しいのは、それが(結果)以下と同じに見えるような応答を模擬することです。

Like this => [
                 key: value *//does not have an index*
             ]

Accessed like this => this.list = result['someList'];

例えば、

constructor(private httpClient: HttpCLient) {}

ngOnInit() {
    this.getAll().subscribe(result => {
        this.someListInsideResult = result['someList'];
        console.log('result: ', result);
        console.log('someListInsideResult: ', someListInsideResult);
    }
}

getAll() {
    this.headers = new HttpHeaders().set('X-Authorization', 'Bearer  ' + token).set('X-Requested-With', 'XMLHttpRequest').set('Content-Type', 'application/json');
    return httpClient.get(url, {headers: headers});
}

コンソール:

// actual respose(result)
result: [
            key1: value1
            key2: value2
            ...
            ...
            someList: 0: "stringValue"
                      1: "ENUM"
                      2: null
        ]

// list inside the response
someListInsideResult: 0: "stringValue"
                      1: "ENUM"
                      2: null

誰が助けることができれば、それは非常に感謝します。

前もって感謝します。

Shashankヴィヴェック:

サービスへのHTTP呼び出しを移動し、言うことができますUserService

UserService.service.ts

export class UserService{

getAll(): Observable<any> {
   this.headers = new HttpHeaders().set('X-Authorization', 'Bearer  ' + token).set('X- 
      Requested-With', 'XMLHttpRequest').set('Content-Type', 'application/json');
   return httpClient.get(url, {headers: headers});
}
} 

コントローラにおいて、サービスと使用などを注入

User.component.ts

ngOnInit() {
    this.userSvc.getAll().subscribe(result => {
        this.someListInsideResult = result['someList'];
        console.log('result: ', result);
        console.log('someListInsideResult: ', someListInsideResult);
    }
}

そして、テスト用のモックサービスを作成します。

MockUserService.ts

export class MockUserService {

   getAll() {
    return of({
        key1: 'key1',
        someList : [{ "0" : "stringValue"}]
    })
   }

}

その後でUser.component.spec.ts

beforeEach(async(() => {
    TestBed.configureTestingModule({
        imports: [],
        declarations: [UserComponent],
        providers: [
          { provide: UserService, useClass: MockUserService }] // <-- Here we have injected our Mock
    }).compileComponents();
}));

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=215129&siteId=1