Как настроить шутку с угловым в стекблице - PullRequest
0 голосов
/ 09 июля 2019

Есть ли у кого-нибудь пример проекта stackblitz , где вы запускаете угловое юнит-тестирование с шуткой?

Заранее спасибо!

1 Ответ

1 голос
/ 09 июля 2019

Я делал это раньше, но для Жасмин не Джест.Возможно, вы захотите последовать этому примеру и построить его:

Краткое описаниеописание

Добавить зависимости: jasmine-core и @types/jasmine.

Добавить /src/global-jasmine.ts файл:

import jasmineRequire from 'jasmine-core/lib/jasmine-core/jasmine.js';
window.jasmineRequire = jasmineRequire;

Редактировать /src/styles.scss и добавить:

@import 'jasmine-core/lib/jasmine-core/jasmine.css';

Добавьте /src/main-testing.ts файл (кроме main.ts) и вставьте следующее содержимое:

import './global-jasmine'
import 'jasmine-core/lib/jasmine-core/jasmine-html.js';
import 'jasmine-core/lib/jasmine-core/boot.js';

import './polyfills';

// This file is required by karma.conf.js and loads recursively all the .spec and framework files
import 'zone.js/dist/async-test';
import 'zone.js/dist/fake-async-test';
import 'zone.js/dist/long-stack-trace-zone';
import 'zone.js/dist/proxy.js';
import 'zone.js/dist/sync-test';

// Requires 'zone.js/dist/proxy.js' and 'zone.js/dist/sync-test';
import 'zone.js/dist/jasmine-patch';

import { getTestBed } from '@angular/core/testing';
import {
  BrowserDynamicTestingModule,
  platformBrowserDynamicTesting
} from '@angular/platform-browser-dynamic/testing';

// stuff to test
import './app/app.component.spec.ts'

jasmine.getEnv().configure({random: false});
bootstrap();

function bootstrap () {
  if (window.jasmineRef) {
    location.reload();
    return;
  } else {
    window.onload();
    window.jasmineRef = jasmine.getEnv();
  }

  // First, initialize the Angular testing environment.
  getTestBed().initTestEnvironment(
    BrowserDynamicTestingModule,
    platformBrowserDynamicTesting()
  );
}

Создайте образец единицы теста /src/app/app.component.spec.ts:

describe('Testing tests', () => {
  it('should succeed', () => expect(true).toEqual(true));
  it('should fail', () => expect(true).toEqual(false));
});

Тофайл будет запущен, потому что он был указан в материал для проверки комментарий в main-testing.ts.Если вы хотите протестировать другие файлы, измените соответствующие ссылки.

И, наконец, для запуска тестов отредактируйте angular.json и измените строку

            "main": "src/main.ts",

на

            "main": "src/main-testing.ts",

Чтобы снова запустить приложение, измените его обратно.

...