Перестал работать юнит тест при переходе с кармы на джест - PullRequest
0 голосов
/ 09 ноября 2018

Я работаю над проектом Ionic / Angular и попытался переключиться с Karma на Jest для моего тестирования. Следующий тест работал нормально до переключения:

import {TestBed, inject, async} from '@angular/core/testing';
import { TreasureTableService } from './treasure-table.service';
import {PapaParseModule} from 'ngx-papaparse';
import {HttpClientModule} from '@angular/common/http';

describe('TreasureTableService', () => {
  beforeEach(() => {
    TestBed.configureTestingModule({
      imports: [HttpClientModule, PapaParseModule]
    });
  });

  beforeEach(inject([TreasureTableService], s => {
    treasureTableService = s;
  }));

  it('should get treasure type list', async() => {
    let result: string[] = await treasureTableService.getTreasureTypeList();
    expect(result).toContain("A");
    expect(result.length).toBe(33);
  });
});

После того, как я переключился на Jest, я получил следующую ошибку:

    console.error node_modules/jsdom/lib/jsdom/virtual-console.js:29
    Error: Error: connect ECONNREFUSED 127.0.0.1:80
  at Object.dispatchError (C:\Users\fhu\WebstormProjects\AcksAssistant\node_modules\jsdom\lib\jsdom\living\xhr-utils.js:65:19)
        at Request.client.on.err (C:\Users\fhu\WebstormProjects\AcksAssistant\node_modules\jsdom\lib\jsdom\living\xmlhttprequest.js:676:20)
        at emitOne (events.js:121:20)
        at Request.emit (events.js:211:7)
        at Request.onRequestError (C:\Users\fhu\WebstormProjects\AcksAssistant\node_modules\request\request.js:881:8)
        at emitOne (events.js:116:13)
        at ClientRequest.emit (events.js:211:7)
        at Socket.socketErrorListener (_http_client.js:387:9)

Кто-нибудь понял, в чем проблема?

EDIT: После того, как я перестал использовать HttpClientModule и переключился на HttpClientTestingModule Ошибка соединения исчезла, но теперь у меня проблема с асинхронным вызовом:

Timeout - Async callback was not invoked within the 5000ms timeout specified by jest.setTimeout.
95 | function createdPatchedSpec(OriginalSpec, registry) {
96 |   function PatchedSpec(attrs) {
>  97 |     OriginalSpec.apply(this, arguments);
...