【问题标题】:Angular 11 CLI, "ng generate" option: --skip-testsAngular 11 CLI,“ng generate”选项:--skip-tests
【发布时间】:2021-05-20 09:17:50
【问题描述】:

在使用 Angular 11 CLI 时,当我 generate 一个新组件时,我可以指定选项 --skip-tests 以避免在此阶段生成 .component.spec.ts

ng generate component --name asdf --module app --skip-tests --dry-run

当我生成包含新组件的新模块(--route 选项)时,我无法指定 --skip-tests 选项。

ng generate module --name asdf --module app --route asdf --routing true --skip-tests --dry-run

如果我这样做了,我会收到错误:

Unknown option: '--skip-tests'

在这种情况下是否有另一种方法可以跳过生成测试,或者它只是不支持generate module

【问题讨论】:

    标签: angular-cli


    【解决方案1】:

    根据this article,您可以在生成整个项目或生成单个组件时添加--skip-tests 标志。从逻辑的角度来看,您不能在模块上应用标志是有道理的,因为模块不是使用测试文件生成的。

    要对所有未来生成的代码进行更改,请修改您的 angular.json 文件,将 skipTests:true 添加到原理图部分。

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

    【讨论】:

    • 谢谢,您链接的文章实际上间接包含答案,即手动编辑angular.json 中的“原理图”,在"@schematics/angular:component" 下添加"skipTests": true。我试过了,它有效,这对我来说是最好的选择。如果您想将其添加到您的答案中,我相信我可以将其标记为正确。
    【解决方案2】:

    ng generate module 命令不支持--skip-tests

    supported options are :

    • --flat
    • --lint-fix
    • --module
    • --project
    • --route
    • --routing
    • --routing-scope

    更新:

    另一种方法是依次使用两个命令:

    ng generate module --name am && ng generate component --name ac --module am --skip-tests --dry-run 
    

    && 表示只有在 command1 执行成功后才执行 command2。

    请注意vscode集成终端不支持&&,可能的解决方法可以找到here

    结果应该是这样的:

    我使用的是 Angular CLI 版本 10,但 Angular cli v11 应该会产生相同的结果。

    【讨论】:

      猜你喜欢
      • 2017-04-05
      • 2023-02-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-02
      • 1970-01-01
      • 2017-11-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多