Как выполнить тест ng для всех компонентов субмодуля приложения Angular - PullRequest
0 голосов
/ 15 мая 2019

У меня есть угловое приложение, объявленное так:

app.module.ts

export class AppModule {}

, для которого я могу запустить тесты с ng test MyApp

В этом приложении у меня есть несколько модулей, объявленных так:

my-one.module.ts / my-other.module.ts

export class MyOneModule {}

export class MyOtherModule {}

Они импортируются в AppModule.

Как я могу сделать что-то вроде ng test MyOneModule / ng test MyOtherModule, с помощью которого я бы хотел запустить только тесты всех компонентов в этом самом «подмодуле» вместо всех тестов в приложение?

Я не смог найти информацию в официальном документе или здесь, в StackOverflow. Возможно ли это вообще?

Ответы [ 2 ]

1 голос
/ 15 мая 2019

Я в конечном итоге использовал этот обходной путь:

В test.ts Я изменил путь:

const context: any = require.context('./', true, /\.spec\.ts$/);

на

const context: any = require.context('./app/modules/my-one-module', true, /\.spec\.ts$/);

или

const context: any = require.context('./app/modules/my-other-module', true, /\.spec\.ts$/);

Это заставляет ng test просто выполнять тесты в определенном каталоге (и его подкаталогах).

Не идеально, так как я не люблю вносить изменения в проверенные файлы, чтоне предназначены для совершения, но это делает работу.

0 голосов
/ 15 мая 2019

В Интернете можно найти некоторые ресурсы, , такие как , в которых объясняется, как выполнять grep-файлы для запуска только их.

Я также помню, как сотрудник выполнял свои тесты от intelliJ для одного файла, и был аргумент командной строки, но я его вообще не помню.

Наконец, вы также можете использовать fdescribe/xdescribe и fit/xit в тестах, чтобы запускать только те из них.

...