Bienvenida e Introducci贸n

1

驴Qu茅 son las pruebas unitarias?

2

驴Por qu茅 hacer pruebas unitarias?

Creando un framework de pruebas b谩sico

3

Mi primera prueba unitaria en JavaScript

4

Las funciones expect() y it()

5

Organizando el c贸digo para correr en la web

6

Organizando el c贸digo para correr utilizando nodejs

An谩lisis est谩tico de c贸digo

7

Herramientas de an谩lisis est谩tico de c贸digo

8

ESLint: Agregando alertas a nuestro c贸digo con ECMA Script

9

Herramientas de correcci贸n de estilo

10

Herramientas de tipado

Trabajando con Jasmine en el frontend

11

Profundizaci贸n en SpyOn: Comandos m谩s utilizados y c贸mo ponerlos a prueba

12

Configurar un ambiente de trabajo para trabajar con el framework jasmine

13

Configurar Jasmine utilizando Node.js

14

Primer set de pruebas con Jasmine

15

Diccionario Jasmine

Probando Nodejs apps con Jasmine

16

Introducci贸n al m贸dulo de testing del lado del servidor

17

Configurando el proyecto Jasmine utilizando npm

18

Agregando Plugins a Jasmine

19

Configurando nuestro reporter

20

Pruebas en el servidor: Verificando un status 200 en GET

21

Pruebas en el servidor: Probando el m茅todo GET y Reto con FindByID

22

Pruebas en el servidor: Probando el m茅todo POST (request to server)

23

Pruebas en el servidor: Probando el m茅todo POST (request to PDF)

Probando Angular apps con Jasmine

24

Tipos de pruebas

25

Pruebas en el frontend: Probando el componente principal (App)

26

Configurando los ciclos de vida

27

Creando las pruebas del formulario: Configuraci贸n

28

Creando las pruebas necesarias para un formulario. (Primeras pruebas)

29

Probando el caso de exito al guardar un elemento en el servidor.

30

Trabajando con event emitters

31

Testeando ngZone y navegaci贸n.

32

Configurando el TestBed de el componente PINs

33

Creando un espia sobre el objecto window

Pruebas de integraci贸n de Angular apps con Jasmine

34

Ejecutando funciones a trav茅s de eventos en el template

35

Probando la navegaci贸n

36

Probando servicios con HTTP

37

Completando las pruebas del servicio HTTP

38

Cierre del curso

No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Curso de Unit Testing para MEAN con Jasmine

Curso de Unit Testing para MEAN con Jasmine

Cristian Daniel Marquez Barrios

Cristian Daniel Marquez Barrios

Configurando los ciclos de vida

26/38
Recursos

Vamos a probar el objeto de configuraci贸n de las rutas de nuestra aplicaci贸n, el archivo app.routing.module.ts. Debemos exportar la variable routes con la palabra reservada export const routes ... para probarla desde nuestro nuevo archivo de pruebas: app.routing.module.spec.ts.

Recuerda que podemos reemplazar la funci贸n describe por fdescribe para solo ejecutar y probar esta parte de nuestra aplicaci贸n. Adem谩s, tenemos disponibles 4 nuevos m贸dulos para configurar variables o c贸digo especial antes y despu茅s de la ejecuci贸n de cada prueba o de la totalidad de ellas: las funciones beforeAll(), beforeEach, afterAll() y afterEach().

Aportes 4

Preguntas 2

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

Termine agregando la f a describe. porque en esta clase salieron muchos errores de otras pruebas.

import { routes } from './app-routing.module';
import { PinsComponent } from './components/pins/pins.component';

fdescribe('App Routing',() =>{
    beforeAll(()=> {
        console.log('beforeAll');
    });
    beforeEach(()=> {
        console.log('beforeEach');
    });
    afterAll(()=> {
        console.log('afterAll');
    });
    afterEach(()=> {
        console.log('afterEach');
    });
    
    it('Should have app as path', () =>{
        expect(routes[0].path).toBe('app');
        expect(routes[0].children).toContain({
            path:'pins',
            component: PinsComponent
        })
    })
    it('Should match the childrens', () =>{
        expect(routes[0].children).toContain({
            path:'pins',
            component: PinsComponent
        })
    })
})

Para que funcione con la version de material 9 la forma de importacion de los modulos es la siguiente:

https://gist.github.com/pimatco/d5b1891feb90b60ca4681011b6513873

import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { HttpClientModule } from '@angular/common/http';

import { AppRoutingModule } from './app-routing.module';
import { AppComponent } from './app.component';


//Angular Material Components
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { LayoutModule } from '@angular/cdk/layout';
import {MatBottomSheetModule} from '@angular/material/bottom-sheet';
import {MatCheckboxModule} from '@angular/material/checkbox';
import {MatButtonModule} from '@angular/material/button';
import {MatInputModule} from '@angular/material/input';
import {MatAutocompleteModule} from '@angular/material/autocomplete';
import {MatDatepickerModule} from '@angular/material/datepicker';
import {MatFormFieldModule} from '@angular/material/form-field';
import {MatRadioModule} from '@angular/material/radio';
import {MatSelectModule} from '@angular/material/select';
import {MatSliderModule} from '@angular/material/slider';
import {MatSlideToggleModule} from '@angular/material/slide-toggle';
import {MatMenuModule} from '@angular/material/menu';
import {MatSidenavModule} from '@angular/material/sidenav';
import {MatToolbarModule} from '@angular/material/toolbar';
import {MatListModule} from '@angular/material/list';
import {MatGridListModule} from '@angular/material/grid-list';
import {MatCardModule} from '@angular/material/card';
import {MatStepperModule} from '@angular/material/stepper';
import {MatTabsModule} from '@angular/material/tabs';
import {MatExpansionModule} from '@angular/material/expansion';
import {MatButtonToggleModule} from '@angular/material/button-toggle';
import {MatChipsModule} from '@angular/material/chips';
import {MatIconModule} from '@angular/material/icon';
import {MatProgressSpinnerModule} from '@angular/material/progress-spinner';
import {MatProgressBarModule} from '@angular/material/progress-bar';
import {MatDialogModule} from '@angular/material/dialog';
import {MatTooltipModule} from '@angular/material/tooltip';
import {MatSnackBarModule} from '@angular/material/snack-bar';
import {MatTableModule} from '@angular/material/table';
import {MatSortModule} from '@angular/material/sort';
import {MatPaginatorModule} from '@angular/material/paginator';


import { ReactiveFormsModule, FormsModule } from '@angular/forms';
import { PinsComponent } from './components/pins/pins.component';
import { LayoutComponent } from './components/layout/layout.component';
import { MenuComponent } from './components/menu/menu.component';
import { ActionsComponent } from './components/actions/actions.component';
import { FormComponent } from './components/form/form.component';
import { ApiService } from './services/api.service';
import { RepositoryService } from './services/repository.service';
import { NavigationService } from './services/navigation.service';
import { PinsService } from './components/pins/pins.service';

@NgModule({
  declarations: [AppComponent, PinsComponent, LayoutComponent, MenuComponent, ActionsComponent, FormComponent],
  imports: [
    BrowserModule,
    AppRoutingModule,
    BrowserAnimationsModule,
    MatCheckboxModule,
    MatCheckboxModule,
    MatButtonModule,
    MatInputModule,
    MatAutocompleteModule,
    MatDatepickerModule,
    MatFormFieldModule,
    MatRadioModule,
    MatSelectModule,
    MatSliderModule,
    MatSlideToggleModule,
    MatMenuModule,
    MatSidenavModule,
    MatToolbarModule,
    MatListModule,
    MatGridListModule,
    MatCardModule,
    MatStepperModule,
    MatTabsModule,
    MatExpansionModule,
    MatButtonToggleModule,
    MatChipsModule,
    MatIconModule,
    MatProgressSpinnerModule,
    MatProgressBarModule,
    MatDialogModule,
    MatTooltipModule,
    MatSnackBarModule,
    MatTableModule,
    MatSortModule,
    MatPaginatorModule,
    MatBottomSheetModule
  ],
  entryComponents: [ActionsComponent],
  providers: [ApiService, RepositoryService, NavigationService, PinsService],
  bootstrap: [AppComponent]
})
export class AppModule {}

like it 馃槂

me sale el siguiente error

has no exported member 'routes'