prueba angular2, ¿cómo me burlo del subcomponente?
¿Cómo me burlo del subcomponente en las pruebas de jazmín?
yo tengoMyComponent
, que utilizaMyNavbarComponent
yMyToolbarComponent
import {Component} from 'angular2/core';
import {MyNavbarComponent} from './my-navbar.component';
import {MyToolbarComponent} from './my-toolbar.component';
@Component({
selector: 'my-app',
template: `
<my-toolbar></my-toolbar>
{{foo}}
<my-navbar></my-navbar>
`,
directives: [MyNavbarComponent, MyToolbarComponent]
})
export class MyComponent {}
Cuando pruebo este componente, no quiero cargar y probar esos dos subcomponentes; MyNavbarComponent, MyToolbarComponent, por lo que quiero burlarme de él.
Sé cómo burlarme de los servicios que usanprovide(MyService, useClass(...))
, pero no tengo idea de cómo burlarme de las directivas; componentes;
beforeEach(() => {
setBaseTestProviders(
TEST_BROWSER_PLATFORM_PROVIDERS,
TEST_BROWSER_APPLICATION_PROVIDERS
);
//TODO: want to mock unnecessary directives for this component test
// which are MyNavbarComponent and MyToolbarComponent
})
it('should bind to {{foo}}', injectAsync([TestComponentBuilder], (tcb) => {
return tcb.createAsync(MyComponent).then((fixture) => {
let DOM = fixture.nativeElement;
let myComponent = fixture.componentInstance;
myComponent.foo = 'FOO';
fixture.detectChanges();
expect(DOM.innerHTML).toMatch('FOO');
});
});
Aquí está mi ejemplo de plunker;