虽然我正在编写用于按角度创建组件的单元测试,但显示此错误
“错误:表单控件“ selectedText”没有值访问器。
如果我将<p-editor>
替换为<input>
,它将正常工作。但是我不想那样做。如果可能的话,请帮助我进行代码解释。
app.html
<p-editor [ngModel]="selectedText" formControlName=""selectedtext">
app.ts
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
...
constructor(public Form: FormBuilder) {}
this.eventForm = this.form.group({
selectedText: [''];
})
...
app.spec.ts
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { AppComponent } from './app.component';
import { FormsModule,FormGroup,FormBuilder} from '@angular/forms'
describe('AppComponent', () => {
let component: FirstpageComponent;
let fixture: ComponentFixture < FirstpageComponent > ;
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [AppComponent]
})
imports: [FormsModule, HttpModule]
.compileComponents();
}));
beforeEach(() => {
fixture = TestBed.createComponent(AppComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
fit("should be defined", () => {
expect(component).toBeDefined();
})
答案 0 :(得分:1)
您必须检查是否正确进行了所有进口和模块注册。
第一:
检查app.module.ts
FormsModule
中的@NgModule
装饰器中是否注册了
import { FormsModule } from '@angular/forms';
@NgModule({
imports: [ FormsModule ]
)}
秒
确保所有必要的primeng模块都已注册。
答案 1 :(得分:0)
欢迎KISHORE R,
您不能将formControlName赋予p-editor,因为它不是formcontrol元素,而是组件。只是你需要这个
<p-editor [ngModel]="selectedText">