Нужна помощь в настройке юнит-тестов

178
29 апреля 2018, 21:12

Пытаюсь настроить и запустить юнит-тестирование Angular с помощью Jest, но что-то не очень понимаю что конкретно нужно сделать. После прочтения кучи инфы и применения метода тыка вот что получилось:
package.json

"dependencies": {
    ...
    "@types/jest": "^22.2.3",
    "ts-jest": "^22.4.4",
    ...
},
"devDependencies": {
    "babel-jest": "^21.2.0",
    "jest": "^21.2.1",
    "jest-cli": "^21.2.1",
    ...
},
"scripts": {
    "test": "jest",
    ...
},
"jest": {
  "verbose": true,
  "globals": {
    "__TRANSFORM_HTML__": true,
    "ts-jest": {
      "enableTsDiagnostics": true
    }
  },
  "moduleDirectories": [
    "node_modules",
    "<rootDir>"
  ],
  "moduleFileExtensions": [
    "ts",
    "tsx",
    "js",
    "jsx",
    "json",
    "node"
  ],
  "transform": {
    "^.+\\.jsx$": "babel-jest",
    "^.+\\.js$": "babel-jest",
    "^.+\\.(ts?|tsx?|html)$": "ts-jest"
  },
  "testRegex": "/__tests__/.*\\.(ts|tsx|js)$",
  "testPathIgnorePatterns": [
    "config"
  ]
},

pricing.component.ts

import { Component, OnInit } from '@angular/core';
@Component({
  selector: 'app-pricing',
  template: '<div>{{ hi }}</div>',
})
export class PricingComponent implements OnInit {
  hi: string;
  constructor() { }
  ngOnInit() {
    this.hi = 'Hello';
  }
}

pricing-test.ts

import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { PricingComponent } from '../pricing.component';
describe('PricingComponent', () => {
  let component: PricingComponent;
  let fixture: ComponentFixture<PricingComponent>;

  beforeEach(async(() => {
    TestBed.configureTestingModule({
      declarations: [PricingComponent]
    }).compileComponents();
  }));
  beforeEach(() => {
      fixture = TestBed.createComponent(PricingComponent);
      component = fixture.componentInstance;
      fixture.detectChanges();
  });
  it('should create the comp', () => {
    expect(component).toBeTruthy();
  });
});

При запуске команды yarn test в терминале, получаю вот такую ошибку:

Подскажите, пожалуйста, что сделать-то нужно?

READ ALSO
Чтение данных из конкретного файла

Чтение данных из конкретного файла

Прочитать файл из файла можно, например, так: new FileReader (смкод ниже)

173
Как выводить окна?

Как выводить окна?

Допустим есть файлы indexphp login

159
Найти элемент на странице по атрибуту

Найти элемент на странице по атрибуту

Есть <script language="name"> И нужно без использования jquery получить значение этого тега(тегов script при этом много,но с этим атрибутом только один)

139