• 异步执行测试

    异步执行测试

    由于服务以异步方式操作,因此异步地执行服务的整个单元测试可能是有用的。 这可以加快完成整个测试周期所需的总时间,因为特定的单元测试不会阻止其他测试的执行。 我们可以设置我们的单元测试来返回一个promise,它将根据测试的结果来返回成功或失败。

    1. describe('verify search', () => {
    2. it('searches for the correct term',
    3. fakeAsync(inject([SearchWiki, MockBackend], (searchWiki, mockBackend) => {
    4. return new Promise((pass, fail) => {
    5. ...
    6. });
    7. })));
    8. });

    不是只使用inject,我们使用fakeAsync来包装它并完成依赖并在异步过程中执行测试。 使用fakeAsync需要我们返回一个Promise,我们通过调用pass或者fail来解决我们的测试的competition ,这取决于我们测试的结果。