每当我创建一个新组件时,有没有办法摆脱Angularjs 2中的spec.ts文件。我知道这是出于测试目的,但如果我不需要它会怎样。
可能有一些设置可以禁用此特定测试文件。
答案 0 :(得分:49)
在angular-cli.json
内,将spec.component参数设置为false
:
{
...
"defaults" : {
...
"spec": {
...
"component": false
}
}
}
或在创建期间使用--spec=false
选项
ng generate component --spec=false component-name
答案 1 :(得分:13)
对于Angular 6
ng config schematics.@schematics/angular.component.spec false
答案 2 :(得分:8)
使用angular-cli时,有许多选项可以通过。要在没有测试的情况下生成新组件,您只需添加--spec=false
,如下所示:
ng generate component --spec=false my-component
angular-cli.json中还有一个选项,默认情况下您要为哪些类型启用规范,您可以在其中修改行为:
"defaults": {
"spec": {
"class": false,
"component": true,
"directive": true,
"module": false,
"pipe": true,
"service": true
}
}
答案 3 :(得分:5)
在最近的Angular版本中,您可以配置cli生成器以禁用angular-cli.json
中组件和服务的spec文件的创建,如下所示:
"defaults": {
"component": { "spec": false },
"service": { "spec": false },
...
}
您还可以为警卫和班级等添加额外的行来禁用规范。
答案 4 :(得分:4)
有一个禁用Angular generate" spec"的命令。默认情况下的文件
ng set defaults.class.spec=false
ng set defaults.component.spec=false
更新:对于Angular 6
ng config schematics.@schematics/angular.component.spec false
答案 5 :(得分:4)
只需尝试一下。 这是有效的
ng g c component_name --spec false
答案 6 :(得分:3)
在Angular 7中使用此简单命令简单地创建组件
ng g c component-name --spec false
或者,如果真的不想将其包含在任何组件中,只需更新angular.json
"@schematics/angular": {
"component": {
"spec": false
}
}
答案 7 :(得分:2)
ng g c component-name --spec false
答案 8 :(得分:2)
对于角度6 + ,只需运行以下命令:
select p.* from dba_tab_privs p where p.owner = upper('<your_user_name>');
OR
只需将其添加到angular.json文件中,您就可以开始使用
ng config schematics.@schematics/angular.component.spec false
注意:在粘贴此检查是否有冲突之前,希望它会有所帮助
答案 9 :(得分:2)
ng generate component your-component-name --skipTests=true
或使用别名s
代替--skipTests
ng generate component your-component-name -s=true
angular.json
以避免始终使用上述CLI命令将以下代码段复制到特定项目(projects.your-project-name
)的angular.json
中。
以下内容将确保未为组件,类,指令,创建.spec
文件使用ng generate
命令进行管道和服务。您可以根据需要选择它们。
{
...
"projects": {
"your-project-name": {
...
"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
}
},
...
}
PS:--spec=false
选项现已弃用,将不起作用
答案 10 :(得分:1)
对于angular 6,请将其添加到"schematics":{}
中的angular.json中:
"@schematics/angular": {
"component": {
"spec": false
}
}
OR
富兰克林·皮蒂(Franklin Pious)表示,请运行以下命令:
ng config schematics.@schematics/angular.component.spec false
答案 11 :(得分:1)
对于Angular 7:ng生成组件mycomponent --skipTests = false
答案 12 :(得分:1)
根据fix #156,您可以使用
创建没有spec文件的组件ng generate component my-comp --nospec
答案 13 :(得分:1)
这里是9号角
ng g class models\user --skip-tests true
它不会生成spec.ts文件。
答案 14 :(得分:1)
--spec
将不再起作用。请改用--skip-tests
。
您将通过以下命令看到所有选项:
ng g c --help
答案 15 :(得分:1)
如果您想跳过特定组件的规格文件。
新版本:
ng generate component "componentName" --skipTests
示例
ng generate component recipe-list --skipTests
旧版本:
ng generate component "componentName" --spec false
示例
ng generate component recipe-list --spec false
答案 16 :(得分:0)
它对我有用 ChatTextController(
messageSnapshot: messageSnapshot,
animation: animation,
);
angular 11
注意:
组件的名称应该是这样的:ng g c posts/new-component --module app --skip-tests
或 new-component
。
为特定文件夹生成:newComponent
将 dir/new-component
添加到 new-component
:app.module.ts
在命令中只使用 --module app
来生成没有 --skip-tests
文件的组件
答案 17 :(得分:0)
对于有角度的8+用户,您只需添加
-skipTests = true
最后
ng g c component-name --skipTests=true
g的简称。 c缩写为component
您也可以使用
ng generate component component-name --skipTests=true
答案 18 :(得分:0)
这很容易做到。在创建组件时添加
-skipTests = true
ng generate component --skipTests=true componentName
或
ng g c --skipTests=true componentName
答案 19 :(得分:0)
角度<8
$ ng g component component-name --spec=false
角度> 8
$ ng g component component-name --skipTests=false --flat
$ ng g component employee/listEmployees --skipTests=false --flat
答案 20 :(得分:0)
生成组件时必须使用“ --skip-tests true”。 (注意:您可以通过在终端中尝试“ ng v”或“ ng -v”来获得上述版本信息。)
您可以使用“ ng g c --help”获得“ ng g c(ng generate component的缩写)”的完整开关列表。
或者,您可以手动添加组件。为此,通过右键单击项目的/ src / app文件夹创建一个新文件夹。创建文件夹后,右键单击该文件夹以添加一个或多个文件,例如mycomp.component.html和mycomp.component.ts。 添加mycomp.component.ts是组件的最低要求列表,因为可以将内联css和html添加到.ts文件中。
import { Component } from '@angular/core';
@Component({
选择器:“ app-mycomp”,
模板:“ <p> Hello Angular </p>
”
})
导出类MyComp {}
将MyComp导入并注册到app.module.ts声明列表中,然后使用选择器(<app-mycomp></app-mycomp
>
答案 21 :(得分:0)
仅添加这些信息是因为我发现自己也遇到了同样的问题,并且无法使用当前答案来解决它,而且我不想对angular-cli.json
文件进行更改。看来最新版本的Angular CLI --spec=false
已过时,因此不再起作用,请改用--skipTests
。
测试:
Angular CLI: 9.1.1
Node: 12.16.1
OS: win32 x64
您的命令如下:
ng g c mycomponent --skipTests
代替
ng g c mycomponent --spec=false
PS :始终使用--dry-run
选项测试命令以测试输出。
答案 22 :(得分:0)
如果要跳过spec.ts文件,请使用以下命令:
ng g c try-it --skipTests=true
其中
g c
=>生成组件,
try-it
=>组件名称,
--skipTest=true
=> == -- spec false
。
答案 23 :(得分:0)
创建组件时可以使用以下命令
ng g c component-name --spec false
答案 24 :(得分:0)
对于Angular 7和更高版本,它将起作用:
ng generate component componentname --skipTests
或
ng generate component componentname --skipTests=true
答案 25 :(得分:-1)
对于Angular 9,您可以使用
ng g c "componentName" --spec=false
生成没有规格文件的组件