【发布时间】:2018-08-28 21:38:09
【问题描述】:
我有一个包含ngxPermissionsOnly 指令的基本组件,它按预期工作。该库位于 github here。我使用@angular-cli 生成了组件,它也自动生成了单元测试。
例如组件
@Component({
selector: 'project-card',
template: '<div class="some-style"><div *ngxPermissionsOnly="['testPermission']"'>Hide Me</div></div>'
styleUrls: ['./project-card.component.scss']
})
export class ProjectCardComponent implements OnInit {
//Do some stuff here
}
例如测试
describe('ProjectCardComponent', () => {
let component: ProjectCardComponent;
let fixture: ComponentFixture<ProjectCardComponent>;
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [
ProjectCardComponent,
]
})
.compileComponents();
}));
beforeEach(() => {
fixture = TestBed.createComponent(ProjectCardComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
});
当我运行测试时,出现以下错误;
Can't bind to 'ngxPermissionsOnly' since it isn't a known property of 'div'
我尝试将NgxPermissionsDirective 添加到TestBed 声明中,但是该指令依赖于该库中的服务,并且我还必须注入它们。我也尝试导入 NgxPermissionsModule 本身,但它有自己的错误。注入一大堆服务来测试一个简单的组件似乎违反直觉。有没有办法模拟这个指令?还是其他解决方案?
【问题讨论】:
标签: angular angular-cli karma-jasmine