javascript - Jest rapporterar att testet passerar även om expect-assertionen misslyckas


I denna kodsandbox körs följande test:

    import { of } from "rxjs";
    import { map } from "rxjs/operators";

    const source = of("World");

    test("It should fail", () => {
      source.subscribe(x => expect(x).toContain("NOTHING"));
    });

Jest rapporterar det som godkänt, även om förväntningen misslyckas. Tankar?

Svar #1

rxjs-observabler är asynkrona. Ta en titt på den här sidan för att få hjälp med att testa asynkron kod

Du vill lägga till argumentet done som nedan ->

test("It should fail", done => {
  source.subscribe(
    x => {
      expect(x).toContain("NOTHING")
      done();
    });
});

Relaterade artiklar