rsb*_*097 6 unit-testing karma-jasmine angular
控制台记录错误:
15 02 2019 14:50:24.868:INFO [Chrome 72.0.3626(Windows 10.0.0)]:已连接到套接字BiEioS9fHwq-QLg3AAAA,ID为27946068 Chrome 72.0.3626(Windows 10.0.0)LoginComponent应该创建FAILED无法绑定到“ formGroup”,因为它不是“ form”的已知属性。(“
Run Code Online (Sandbox Code Playgroud)<div class="row">(等等)
我正在使用command运行它ng test。我的规格文件:
describe('LoginComponent', () => {
let component: LoginComponent;
let fixture: ComponentFixture<LoginComponent>;
const fakeActivatedRoute = {
snapshot: { data: {} }
} as ActivatedRoute;
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [
LoginComponent
],
imports: [
RouterTestingModule,
HttpClientModule,
CommonModule,
BrowserModule,
BrowserAnimationsModule,
ReactiveFormsModule,
MessageModule,
MatFormFieldModule,
MatInputModule,
MatButtonModule,
MatCheckboxModule,
MatProgressSpinnerModule,
MatRadioModule,
MatSliderModule,
NgbModule
],
providers: [
{
provide: ActivatedRoute,
useValue: fakeActivatedRoute
}
]
})
.compileComponents();
}));
beforeEach(() => {
fixture = TestBed.createComponent(LoginComponent);
component = fixture.debugElement.componentInstance;
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
});
Run Code Online (Sandbox Code Playgroud)
和LoginModule文件:
@NgModule({
declarations: [LoginComponent],
imports: [
CommonModule,
BrowserModule,
BrowserAnimationsModule,
FormsModule,
ReactiveFormsModule,
MatFormFieldModule,
MatInputModule,
MatButtonModule,
MatCheckboxModule,
MatProgressSpinnerModule,
MatRadioModule,
MatSliderModule,
MessageModule,
NgbModule.forRoot()
],
providers: [],
bootstrap: [
LoginComponent,
MessageComponent
]
})
export class LoginModule {}
Run Code Online (Sandbox Code Playgroud)
少了什么东西?
sum*_*ape 15
这取决于您在项目中使用的表单类型。Angular 提供了模板驱动的表单和响应式表单。如果您使用的是反应式表单,则需要在您的 componentName.spec.ts 文件中导入 ReactiveFormsModule 作为
import { ReactiveFormsModule } from '@angular/forms';
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [ ContactUsFormComponent ],
imports: [ReactiveFormsModule]
})
.compileComponents();}));
Run Code Online (Sandbox Code Playgroud)
否则,如果您使用模板驱动的表单,则需要导入 FormsModule。
| 归档时间: |
|
| 查看次数: |
1731 次 |
| 最近记录: |