完全从angular4中删除测试

时间:2017-06-20 15:35:13

标签: angular

我使用angular4构建了一个非常小的应用程序。我有主要的应用程序组件,两个子组件和一个服务。我觉得我不需要测试这么小的应用程序,并希望删除与使项目更清洁相关的所有测试

所以我的问题是我可以从项目中删除与测试相关的所有文件是什么?我已经删除了我的组件下的spec文件但是下一步是什么?我可以删除src / test.ts,src / tsconfig.spec.js,protractor.conf.js,karma.conf.js等吗?如果我删除了这个,我是否必须修改一些配置?

另外在侧面注释中,角度cli是否允许创建一个没有所有这些测试相关内容的新项目?

4 个答案:

答案 0 :(得分:30)

构建没有spec文件的新项目:

ng new --skip-tests true projectname

然后您可以删除:

  • / E2E
  • test.ts
  • protractor.conf.js
  • karma.conf.js

如果你不想lint:

  • tslint.json

您还可以将package.json缩减为:

{
  "name": "projectname",
  "version": "0.0.0",
  "license": "MIT",
  "scripts": {
    "ng": "ng",
    "start": "ng serve",
    "build": "ng build"
  },
  "private": true,
  "dependencies": {
    "@angular/common": "^4.0.0",
    "@angular/compiler": "^4.0.0",
    "@angular/core": "^4.0.0",
    "@angular/forms": "^4.0.0",
    "@angular/http": "^4.0.0",
    "@angular/platform-browser": "^4.0.0",
    "@angular/platform-browser-dynamic": "^4.0.0",
    "@angular/router": "^4.0.0",
    "core-js": "^2.4.1",
    "rxjs": "^5.1.0",
    "zone.js": "^0.8.4"
  },
  "devDependencies": {
    "@angular/cli": "1.0.4",
    "@angular/compiler-cli": "^4.0.0",
    "@types/node": "~6.0.60",
    "ts-node": "~2.0.0",
    "typescript": "~2.2.0"
  }
}

生成新组件和服务时,您可以使用--spec false附加它以跳过测试文件生成。

答案 1 :(得分:10)

我建议不要删除所有测试文件,以防万一你以后想再回来。但是,您可以禁用cli在.angular-cli.json

中创建spec文件
"defaults": {
    "styleExt": "less",
    "class": {
      "spec": false
    },
    "component": {
      "spec": false
    },
    "directive": {
      "spec": false
    },
    "module": {
      "spec": false
    },
    "pipe": {
      "spec": false
    },
    "service": {
      "spec": false
    }
  }

现在无论何时使用cli创建组件,类等(ng c),都不会添加spec文件

答案 2 :(得分:5)

对于angular-cli> 6

您可以在根目录上配置`angular.json

"projects": {
    "hello-world-app": {
        "schematics": {
            "@schematics/angular:component": {
                "spec": false
            },
            "@schematics/angular:directive": {
                "spec": false
            },
            "@schematics/angular:modules": {
                "spec": false
            },
            "@schematics/angular:pipe": {
                "spec": false
            },
            "@schematics/angular:service": {
                "spec": false
            },
            "@schematics/angular:class": {
                "spec": false
            }
        }
    }
}

答案 3 :(得分:0)

在2020年以后的最新Angular版本中,例如,您可以简单地使用--skip-tests

ng n c my-component <other options...> --skip-test

发布此信息是因为我注意到上述答案不再起作用。