在开始之前,我已经尝试了所有在线发现的可能的stackoverflow / github解决方案。他们都不工作。大多数问题涉及用户创建自定义模块,并且存在配置问题。我的不是这样的,因为这是一个全新的项目,仅生成并显示了一个组件。到目前为止,我已经进行了两次英雄巡回演出,并且效果良好。我已经创建了一个现有项目,它已经工作了几天,然后突然停止了。我还要补充一点,当我导航到该网站时,没有控制台错误,一切都成功运行。我运行ng test
时只有问题。
问题
我创建了一个新的角度项目,因为我的旧项目突然遇到了一个问题,即我无法将新生成的组件的选择器用作app.component.html文件中的html标签。这是我运行ng-test
时遇到的错误:
Error: Template parse errors:
'app-test' is not a known element:
1. If 'app-test' is an Angular component, then verify that it is part of this module.
2. To allow any element add 'NO_ERRORS_SCHEMA' to the '@NgModule.schemas' of this component.
步骤
我运行了ng new test-project
命令来创建一个新的角度项目。我进入文件夹,然后运行ng generate component test
。这样就成功创建了我的测试组件。
这是test.component.ts文件:
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'app-test',
templateUrl: './test.component.html',
styleUrls: ['./test.component.css']
})
export class TestComponent implements OnInit {
constructor() { }
ngOnInit() {
}
}
这是app.module.ts文件:
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { AppComponent } from './app.component';
import { TestComponent } from './test/test.component';
@NgModule({
declarations: [
AppComponent,
TestComponent
],
imports: [
BrowserModule
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
最后,这是我的app.component.html文件:
<app-test></app-test>
答案 0 :(得分:1)
如果您未在测试床中声明此组件,则测试床将不知道此组件存在。
在测试中,像这样提供新组件
TestBed.configureTestingModule({
declarations: [AppComponent, TestComponent],
})
.compileComponents();