Angular 如果';ongoingStatus';是指令输入,请确保该指令由当前模块导入。单元测试错误
我面临着这样的问题, 如果“ongoingStatus”是一个指令输入,请确保该指令由当前模块导入。(“联系人”role=“tabpanel”aria labelledby=“药丸联系人选项卡”> ][ongoingStatus]=“项目”> 出于安全原因,不允许绑定到事件属性“ongoingStatus”,请使用(goingStatus)=。。。 如果“ongoingStatus”是指令输入,请确保该指令由当前模块导入。(“contact”role=“tabpanel”aria labelledby=“pells contact tab”> 失败:模板分析错误: 出于安全原因,不允许绑定到事件属性“ongoingStatus”,请使用(goingStatus)=。。。 如果“ongoingStatus”是指令输入,请确保该指令由当前模块导入。(“contact”role=“tabpanel”aria labelledby=“pells contact tab”> ][ongoingStatus]=“项目”> 项目规范tsAngular 如果';ongoingStatus';是指令输入,请确保该指令由当前模块导入。单元测试错误,angular,typescript,unit-testing,ionic-framework,rxjs,Angular,Typescript,Unit Testing,Ionic Framework,Rxjs,我面临着这样的问题, 如果“ongoingStatus”是一个指令输入,请确保该指令由当前模块导入。(“联系人”role=“tabpanel”aria labelledby=“药丸联系人选项卡”> ][ongoingStatus]=“项目”> 出于安全原因,不允许绑定到事件属性“ongoingStatus”,请使用(goingStatus)=。。。 如果“ongoingStatus”是指令输入,请确保该指令由当前模块导入。(“contact”role=“tabpanel”aria labelle
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { NO_ERRORS_SCHEMA ,CUSTOM_ELEMENTS_SCHEMA} from '@angular/core';
import { AllProjectsComponent } from './all-projects.component';
import { RouterTestingModule } from '@angular/router/testing';
import { ProjectsService } from './../../../../services/projects/projects.service';
import { GooglePlaceModule } from 'ngx-google-places-autocomplete';
import { ProjectObject } from './../../../../models/project.model';
import { MockProjectService } from './../../../../mock/mockProject.service';
describe('AllProjectsComponent', () => {
let component: AllProjectsComponent;
let fixture: ComponentFixture<AllProjectsComponent>;
let service : ProjectsService;
let response;
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [ AllProjectsComponent ],
imports: [ RouterTestingModule, GooglePlaceModule ],
providers: [
{
provide: ProjectsService,
useClass: MockProjectService
},],
schemas: [ NO_ERRORS_SCHEMA, CUSTOM_ELEMENTS_SCHEMA]
})
.compileComponents();
}));
beforeEach(() => {
fixture = TestBed.createComponent(AllProjectsComponent);
component = fixture.componentInstance;
service = TestBed.get(ProjectsService);
response = {
project: {
projectType : "public",
status : "open",
}
} as ProjectObject
fixture.detectChanges();
});
it('', () => {
component.ngOnInit();
expect(service.getAllprojects()).toBe(response);
})
您需要导入
应用程序正在进行的项目
组件的模块,或者将其类添加到测试床的声明
数组中。configureTestingModule
如果它非常复杂,你更喜欢嘲笑它——考虑使用<代码> N-MOCKS < /代码>库,它有助于这样的情况:
那你就可以做了TestBed.configureTestingModule({
声明:[AllProjectsComponent,MockComponent(OngoingProjectsComponent)],
导入:[MockModule(RouterModule),MockModule(GooglePlaceModule)],
供应商:[
{
提供:项目服务,
useClass:MockProjectService
},],
})
.compileComponents();
您需要导入应用程序正在进行的项目组件的模块,或者将其类添加到测试床的声明中
如果它非常复杂,你更喜欢嘲笑它——考虑使用<代码> N-MOCKS < /代码>库,它有助于这样的情况:
那你就可以做了
TestBed.configureTestingModule({
声明:[AllProjectsComponent,MockComponent(OngoingProjectsComponent)],
导入:[MockModule(RouterModule),MockModule(GooglePlaceModule)],
供应商:[
{
提供:项目服务,
useClass:MockProjectService
},],
})
.compileComponents();
我遇到一些问题,你的答案帮助我,谢谢你)我遇到一些问题,你的答案帮助我,谢谢你)
<div class="tab-pane fade" id="pills-contact" role="tabpanel" aria-labelledby="pills-contact-tab">
<app-ongoing-projects [ongoingStatus]="projects "></app-ongoing-projects>
</div>
import { ProjectObject } from './../../../../models/project.model';
import { Component, OnInit, ViewChild } from '@angular/core';
import { ProjectsService } from './../../../../services/projects/projects.service';
import { GooglePlaceDirective } from 'ngx-google-places-autocomplete';
import { Address } from 'ngx-google-places-autocomplete/objects/address';
@Component({
selector: 'app-all-projects',
templateUrl: './all-projects.component.html',
styleUrls: ['./all-projects.component.scss']
})
export class AllProjectsComponent implements OnInit {
// public projects;
public projects: ProjectObject[];
@ViewChild('placesRef', { static: false }) placesRef: GooglePlaceDirective;
public option = {
types: ['(cities)'],
componentRestrictions: { country: 'IN' }
};
public location: string;
public licenseType: string;
public resetBtn = false;
public loading = true;
validdata: boolean;
constructor( private projectsService: ProjectsService) { }
ngOnInit(): void {
this.projectsService.getAllprojects().subscribe((data) => {
console.log(data);
this.projects = data;
this.loading = false;
if (!this.projects['0']) {
this.validdata = true;
}
});
}
public handleAddressChange(address: Address) {
this.location = address.formatted_address;
console.log(address)
}
}