0
私はAngular2アプリケーションで単体テストを行い、angle2テストフレームワークは新しくなっています。角度2ユニットテストでコンポーネントを共有しようとしています
私は2つのコンポーネントを持ち、同じメソッドをサービスから呼び出しています。
まず、私は、第二モック
import { MyService } from '../../shared/my.service';
import { MyModel } from '../../shared/my.model';
を作成するために、サービスとモデルをインポート最後に
describe('MyComponent',() => {
let component: MyComponent;
let fixture: ComponentFixture<MyComponent>;
const mockMyModel: MyModel[] = [];
const mockMyService = {
sameMethod:() => Observable.of(mockMyModel),
};
を模擬したモデルとサービスを手配し、サービス
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [ MyComponent],
})
.overrideComponent(MyComponent, {
set: {
providers: [
{ provide: MyService , useValue: mockMyService },
],
},
})
.compileComponents();
}));
を模擬する必要があります
もう1つ別のコンポーネントで同じことをもう一度やる必要があります。
オプション1:モック 例えばための準備を共有グローバルする方法があります
{ provide: MyService , useValue: global.mockMyService }
オプション2:サービスを模擬するためだけに 'RouterTestingModule'などの 'ServiceTestingModule'を持つことは可能ですか?
ありがとう!