Angular2单元测试错误:无法绑定到’routerLink’,因为它不是’a
发布时间:2020-12-17 17:28:06 所属栏目:安全 来源:网络整理
导读:我正在尝试使用单元测试(karma,jasmine)进行管理,我遇到了错误: Can’t bind to ‘routerLink’ since it isn’t a known property of ‘a’ 我甚至没有更改由angular-cli创建的* .spec.ts文件… 这是我的文件: 用户list.component.html ul li *ngFor="let
我正在尝试使用单元测试(karma,jasmine)进行管理,我遇到了错误:
我甚至没有更改由angular-cli创建的* .spec.ts文件… 这是我的文件: 用户list.component.html <ul> <li *ngFor="let user of users"> <a [routerLink]="user._id" (click)="userClicked(user)">{{user.fullName}}</a> </li> </ul> <router-outlet></router-outlet> 用户list.component.ts import { Component,OnInit } from '@angular/core'; import { Router } from '@angular/router'; import { IUser,User } from '../../../interfaces/user'; import { UsersService } from '../../../services/users.service'; @Component({ selector: 'app-user-list',templateUrl: './user-list.component.html',styleUrls: ['./user-list.component.css'] }) export class UsersListComponent implements OnInit { users: IUser[] = []; constructor(private usersService: UsersService,private router: Router) { } ngOnInit() { this.usersService.getAll() .subscribe(users => { this.users = users.sort(...).map(...); }); } userClicked(user) { this.usersService.setCurrentUser(user); } clickXBtn(user) { this.usersService .deleteUser(user) .subscribe(...); } } 用户list.component.spec.ts /* tslint:disable:no-unused-variable */ import { async,ComponentFixture,TestBed } from '@angular/core/testing'; import { By } from '@angular/platform-browser'; import { DebugElement } from '@angular/core'; import { UsersListComponent } from './user-list.component'; describe('UsersListComponent',() => { let component: UsersListComponent; let fixture: ComponentFixture<UsersListComponent>; beforeEach(async(() => { TestBed.configureTestingModule({ declarations: [ UsersListComponent ] }) .compileComponents(); })); beforeEach(() => { fixture = TestBed.createComponent(UsersListComponent); component = fixture.componentInstance; fixture.detectChanges(); }); it('should create',() => { expect(component).toBeTruthy(); }); }); 我应该改变什么?如何使它工作? 解决方法
可能重复
Angular 2 Jasmine Can’t bind to ‘routerLink’ since it isn’t a known property of ‘a’
要解决您的问题,请尝试存根RouterLink @Directive({ selector: '[routerLink]',host: { '(click)': 'onClick()' } }) export class RouterLinkStubDirective { @Input('routerLink') linkParams: any; navigatedTo: any = null; onClick() { this.navigatedTo = this.linkParams; } } 并在测试中使用存根的RouterLink (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- bash:访问字符串的最后x个字符
- 需要Angular中的BrowserAnimationsModule,但在Universal中会
- JAXB 2.0 API is being loaded from the bootstrap classlo
- 在Unix / Linux平台上运行的Perl脚本是否可以创建Windows快
- 使用systemjs导入位于应用程序文件夹外的共享服务,该应用程
- Azure应用服务泊坞窗容器’服务不可用’
- 用New-WebServiceProxy查天气预报
- twitter-bootstrap – Bootstrap:窗口的表格太宽
- Bash,stdout重定向命令,如scp
- angular中的ng-repeat-start和ng-repeat-end的用法介绍