Модульный тест Rxjs 5

Я пытаюсь написать тест, используя mocha и chai для моих наблюдаемых методов, который вызывает сервер и возвращает некоторые данные json. Однако, когда я запускаю тест, я получаю следующую ошибку: Ошибка: превышено время ожидания 2000 мс. Для асинхронных тестов и хуков убедитесь, что вызывается "done()"; если вы возвращаете обещание, убедитесь, что оно разрешено. Даже когда я перезаписываю время ожидания по умолчанию, я все равно получаю вышеуказанную ошибку. Что я делаю неправильно?

describe("some test", () => {
    let someClass: SomeClass;

    before(() => {
        someClass = new SomeClass();
    });
    ;

    it("should meet some condition", done => {

        let getData = someClass.getData('query')

        getData.subscribe(json => {
            json.success.should.equal(true);
            done();
        },
            done
        );

    });
});

1 ответ

Я нашел решение, я звоню done() в перед крюком и установленного таймаута на каждом it() функция.

describe("some test", () => {
    let someClass: SomeClass;

    before((done) => {
        someClass = new SomeClass();
        done();
    });
    ;

    it("should meet some condition", done => {

        let getData = someClass.getData('query')

        getData.subscribe(json => {
            json.success.should.equal(true);
            done();
        },
            done
        );
    }).timeout(10000);
});
Другие вопросы по тегам