にサービスをテストするとき、私は次のサービスがあります。無効なプロバイダ角度2
import { Injectable } from '@angular/core';
import { MenuItem } from './../classes/menu-item';
import { ITEMS } from './../static-data/items-list';
@Injectable()
export class ItemsListService {
getItems(): Promise<MenuItem[]> {
return Promise.resolve(ITEMS);
}
}
このサービスのテストはここにある:
import { TestBed, async, inject } from '@angular/core/testing';
import { ItemListService } from './item-list.service';
import { MenuItem } from './../classes/menu-item';
import { ITEMS } from './../static-data/items-list';
describe('ItemListService',() => {
beforeEach(() => {
TestBed.configureTestingModule({
providers: [ ItemListService, MenuItem, ITEMS ]
});
});
it('should ...', inject([ItemListService], (service: ItemListService) => {
expect(service).toBeTruthy();
}));
});
のMenuItemが定義されているがここで:
export class MenuItem {
name: string;
link: string;
}
アイテムはここで定義される: インポートからのMenuItem {}」./。 ./classes/menu-item ';
export var ITEMS: MenuItem[] = [
{name: 'Vehicles', link: '/vehicles'},
{name: 'Gateways', link: '/gateways'},
{name: 'Statuses', link: '/statuses'},
{name: 'Logs', link: '/logs'}
]
私はブラウザで取得していますテストを実行して以下のエラーコンソール:なぜ私はこれらのエラーを持っているん
FAILED ItemListService should ...
と
を?そしてテストがうまくいく解決策は何ですか?
を報告し、「何 『を提供』キーが指定されていません」のように、あなたがどのような依存性を持っていますかItemListServiceで? – AhmedRiyad
いいえ、私は持っていませんが、問題が見つかりました。私が作った答えを見てください。 – Cristian