Угловой модульный тест - запуск по модулю или папке - PullRequest
0 голосов
/ 07 февраля 2019

У меня есть проект Angular с настройкой Karma для юнит-теста.Тест и покрытие отлично работают для всех файлов спецификаций, но со дня на день приложение становится больше, и мне мешает запускать все тесты, даже если я фокусируюсь на новом модуле, поэтому я хотел запустить только некоторые тесты, которые янапример, хочу проверить, у меня есть папка с каналами и все, что я хочу сделать, - это запустить только файлы спецификации в этой папке, Я знаю, что могу обновить контекст в моем файле test.ts, но я не могухочу обновлять и возвращать этот файл каждый раз ...

Я попытался создать новый конфигурационный файл Karma и обновил свойство files, добавив только те файлы, которые мне нужны, но это не сработало,Я не знаю, может быть, я делаю это неправильно.( См. Ниже часть кода в этом файле )

Есть ли решение или хитрость, чтобы сделать это?что-то вроде отдельного файла конфигурации кармы (например: karma.config.pipes.ts), который изменяет контекст?

// Override dev config
config.set({
  files: [
    {pattern: '../app/pipes/*.spec.ts'}
  ]
});

1 Ответ

0 голосов
/ 07 февраля 2019

у вас может быть файл test.ts, который содержит следующий код

import "zone.js/dist/zone-testing";
import { getTestBed } from "@angular/core/testing";
import {
   BrowserDynamicTestingModule,
   platformBrowserDynamicTesting
} from "@angular/platform-browser-dynamic/testing";

declare const require: any;

// First, initialize the Angular testing environment.
getTestBed().initTestEnvironment(
  BrowserDynamicTestingModule,
  platformBrowserDynamicTesting()
);
// Then we find all the tests.
// here u can specify the folder
const context = require.context("./pipes", true, /\.spec\.ts$/);
// And load the modules.
context.keys().map(context);

и настроить этот файл в tsconfig.spec.ts

{
 "extends": "../tsconfig.json",
 "compilerOptions": {
 "outDir": "../out-tsc/spec",
 "baseUrl": "./",
 "module": "commonjs",
 "target": "es5",
 "types": [
   "jasmine",
   "node"
 ]
 },
 "files": [
  "test.ts"
 ],
"include": [
"**/*.spec.ts",
"**/*.d.ts",
"./polyfills.ts"
]
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...