Comment écrire des tests unitaires pour le service d'alerte

Je suis nouveau à l'écriture de scénarios de test unitaire. Je suis en train d'écrire des cas de test pour mon service d'alerte. Je suis à l'aide angulaire 7. Mon service d'alerte et de mon alerte modèle de code comme ci-dessous.

Mon alerte.service.ts

import { Injectable } from '@angular/core';
import { Observable, Subject } from 'rxjs';
import { Alert, AlertType } from '../models/alert.model';

@Injectable({
  providedIn: 'root'
})
export class AlertService {
  private subject = new Subject<Alert>();

  constructor() {}

  onAlert(): Observable<Alert> {
    return this.subject
      .asObservable();
  }

  success(message: string) {
    this.alert(new Alert(message, AlertType.Success));
  }

  error(message: string) {
    this.alert(new Alert(message, AlertType.Error));
  }

  info(message: string) {
    this.alert(new Alert(message, AlertType.Info));
  }

  warn(message: string) {
    this.alert(new Alert(message, AlertType.Warning));
  }

  alert(alert: Alert) {
    this.subject.next(alert);
  }

  clear() {
    this.subject.next(null);
  }
}

Mon alerte.de modèle.ts

export class Alert {
  constructor(public message: string, public type: AlertType) {}
}

export enum AlertType {
  Success,
  Error,
  Info,
  Warning
}
0
2019-09-17 14:01:04
source
1 réponses

Vous pouvez utiliser "redirect".

https://docs.cypress.io/api/commands/route.html#Simulate-a-server-redirect

describe('response will be empty', function() 
{
it('Open web page',()=> {
    let url = 'https://www.google.com/maps';
    cy.server();
    cy.route(
    {
        method: 'GET',
        url: '**/maps/**',
        //you can replace the status code you like 
        status: 503,
        response: {
            redirect: ''
        }
    }
    );
    cy.visit(url);
})
})

La réponse sera une chaîne vide. Voir la capture d'écran ci-dessous, enter image description here

Si vous utilisez

response: {}

Il sera de retour vide le corps de la réponse.

+1
2019-09-17 15:13:14

Voir d'autres questions sur les étiquettes