问题
In this code sandbox the following test is executed:
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 reports it as passing, even though the expectation fails. Thoughts?
回答1:
rxjs observables are asynchronous. Take a look at this page to help with testing asynchronous code
You want to add the done argument as below ->
test("It should fail", done => {
source.subscribe(
x => {
expect(x).toContain("NOTHING")
done();
});
});
来源:https://stackoverflow.com/questions/53197952/jest-reports-that-test-passes-even-though-expect-assertion-fails