1. ホーム
  2. angular

Angular 9 + CLI (TypeScript) - テストファイル .spec.ts を生成しないようにする方法

2023-11-15 17:58:13

質問

悪いことだとは思うのですが、どうしたらいいですか? が、我慢してください。

私はAngular-CLIを使っていて、特に ng g を使用して、すべてのクラスを生成しています。しかし、私はどんな *.spec.ts のテストファイルには興味がありません。私は、2 つのフラグ ( --inline-template , --inline-style ) を使って、CSSとHTMLを分離したファイルではなくインラインで扱えるようにし、仕様としては --spec フラグはデフォルトで true に設定されています。

ですから、それぞれの実行に対して、そう、私は ng g c foo --it --is --spec=false .

しかし、グローバルにテストファイルを作成しないようにするにはどうすればよいのでしょうか。何かデフォルトの設定があるのでしょうか?

無謀にも、いろいろとやってしまいました (うまくいきませんでしたが) のように、です。

ng set spec=false --global

の設定も試してみました。 src/tsconfig.json の設定も行ってみました。

"exclude": [
    "**/*.spec.ts"
]

どのように解決するのですか?

Angular9の場合(バージョン6以下)。

1) スニペットを angular.json にコピーします(すべてのプロジェクト/グローバルに設定を構成します)。

2) または、スニペットを特定のプロジェクトのルートにコピーする ( projects.your-project-name ) にコピーします。 angular.json (特定のプロジェクトの設定を構成する)。

"schematics": {
  "@schematics/angular:component": {
    "style": "scss",
    "skipTests": true
  },
  "@schematics/angular:class": {
    "skipTests": true
  },
  "@schematics/angular:directive": {
    "skipTests": true
  },
  "@schematics/angular:pipe": {
    "skipTests": true
  },
  "@schematics/angular:service": {
    "skipTests": true
  }
},

ファイルの種類ごとに設定可能なすべてのオプション 回路図オプション :

"schematics": {
  "@schematics/angular:component": {
    "changeDetection": "Default",
    "entryComponent": false,
    "export": false,
    "flat": false,
    "inlineStyle": false,
    "inlineTemplate": false,
    "module": "",
    "prefix": "",
    "selector": "",
    "skipImport": false,
    "spec": true,
    "style": "css",
    "viewEncapsulation": "Emulated",
    "skipTests": "false"
  },
  "@schematics/angular:module": {
    "commonModule": true,
    "flat": false,
    "module": "",
    "routing": false,
    "routingScope": "Child"
  },
  "@schematics/angular:service": {
    "flat": true,
    "skipTests": true
  },
  "@schematics/angular:pipe": {
    "export": false,
    "flat": true,
    "module": "",
    "skipImport": false,
    "skipTests": true
  },
  "@schematics/angular:directive": {
    "export": false,
    "flat": true,
    "module": "",
    "prefix": "app",
    "selector": "",
    "skipImport": false,
    "skipTests": true
  },
  "@schematics/angular:class": {
    "skipTests": true
  }
},

Angular6用 >

1) スニペットを angular.json にコピーします(すべてのプロジェクト/グローバルに設定を構成します)。

2) または、スニペットを特定のプロジェクトのルートにコピーする ( projects.your-project-name ) にコピーします。 angular.json (特定のプロジェクトの設定を構成する)。

"schematics": {
  "@schematics/angular:component": {
    "styleext": "scss",
    "spec": false
  },
  "@schematics/angular:class": {
    "spec": false
  },
  "@schematics/angular:directive": {
    "spec": false
  },
  "@schematics/angular:guard": {
    "spec": false
  },
  "@schematics/angular:module": {
    "spec": false
  },
  "@schematics/angular:pipe": {
    "spec": false
  },
  "@schematics/angular:service": {
    "spec": false
  }
},

ファイルの種類ごとに設定可能なすべてのオプション ( 回路図オプション ):

"schematics": {
  "@schematics/angular:component": {
    "changeDetection": "Default",
    "export": false,
    "flat": false,
    "inlineStyle": false,
    "inlineTemplate": false,
    "module": "",
    "prefix": "",
    "selector": "",
    "skipImport": false,
    "spec": true,
    "styleext": "css",
    "viewEncapsulation": "Emulated"
  },
  "@schematics/angular:module": {
    "commonModule": true,
    "flat": false,
    "module": "",
    "routing": false,
    "routingScope": "Child",
    "spec": true
  },
  "@schematics/angular:service": {
    "flat": true,
    "spec": true
  },
  "@schematics/angular:pipe": {
    "export": false,
    "flat": true,
    "module": "",
    "skipImport": false,
    "spec": true
  },
  "@schematics/angular:directive": {
    "export": false,
    "flat": true,
    "module": "",
    "prefix": "app",
    "selector": "",
    "skipImport": false,
    "spec": true
  },
  "@schematics/angular:class": {
    "spec": true
  }
},


Angular CLIを使った設定

ERROR:

この ng set defaults.spec.component false コマンドを実行すると、エラーが発生します。 get/set have been deprecated in favor of the config command.

ng set に変更されました。 ng config .

Angular CLIを使う(configコマンドの使い方)。

内のspec、インラインテンプレート、インラインスタイリングなどを生成するための設定です。 angular.json の中にあるスペックやテンプレート、スタイルなどを生成するための設定は、現在 schematics.@schematics/angular.<file-type>.<setting> .

実行 ng config schematics.@schematics/angular.component.spec false を実行して、コンポーネントにspecを設定します。このコマンドは、Schematics プロパティ内の angular.json ファイル内のschematicsプロパティに設定を追加します。


Angular Github上のAngular CLIワークスペース・ファイル(angular.json)

schema.json内のスキーマのオプション。

Angular CLI v6でXを実行する方法