Unit testing 如何测试因果报应的积极性+;《天使2》中的茉莉花?
角度2 v.2.0.0-TS+业力+茉莉花 我将测试这个canActivate函数:Unit testing 如何测试因果报应的积极性+;《天使2》中的茉莉花?,unit-testing,angular,testing,karma-jasmine,Unit Testing,Angular,Testing,Karma Jasmine,角度2 v.2.0.0-TS+业力+茉莉花 我将测试这个canActivate函数: public canActivate(next: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean> { return this.serverThisLogin.checkAuth().map((e: boolean) => { if (e) {
public canActivate(next: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean> {
return this.serverThisLogin.checkAuth().map((e: boolean) => {
if (e) {
return true;
}
}). catch(() => {
this.router.navigate(["/login"]);
return Observable.of(false);
});
}
我发现此错误
“CanActivate”仅指类型,但在此处用作值。
感谢您的快速回答!我粘贴了你的代码,现在我在canActivateInit中出现了这个错误-找不到名称“canActivateInit”
,它们没有初始化对不起,用canActivateOK重新间隔canActivateInit,现在在canActivate=new canActivate()中出现了错误代码>-'CanActivate'仅指一种类型,但在此处用作值。
您可以发布所有激活文件吗?我刚刚发布了完整的ts摘要,以便快速回答!我粘贴了你的代码,现在我在canActivateInit中出现了这个错误-找不到名称“canActivateInit”
,它们没有初始化对不起,用canActivateOK重新间隔canActivateInit,现在在canActivate=new canActivate()中出现了错误代码>-'CanActivate'仅指类型,但在此处用作值。
您可以发布所有激活文件吗?我刚刚发布了完整的ts
import {Injectable} from "@angular/core";
import {CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot} from "@angular/router";
@Injectable()
export class CanActivateInit implements CanActivate{
constructor() {}
canActivate(next: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {
if (/*somthing*/){
return true;
} else {
return true;
}
}
}
import {CanActivateInit} from "./canActivateInit";
import {ActivatedRouteSnapshot, RouterStateSnapshot} from "@angular/router";
export function main() {
describe('CanActivateInit canActivate', () => {
let canActivateInit : CanActivateInit;
let next: ActivatedRouteSnapshot;
let state: RouterStateSnapshot;
beforeEach(() => {
canActivateInit = new CanActivateInit();
});
it('should activate page' , () => {
let result = canActivateInit.canActivate(next, state);
expect(result).toBeTruthy();
});
});
}
import {Injectable} from "@angular/core";
import {CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot} from "@angular/router";
@Injectable()
export class CanActivateInit implements CanActivate{
constructor() {}
canActivate(next: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {
if (/*somthing*/){
return true;
} else {
return true;
}
}
}
import {CanActivateInit} from "./canActivateInit";
import {ActivatedRouteSnapshot, RouterStateSnapshot} from "@angular/router";
export function main() {
describe('CanActivateInit canActivate', () => {
let canActivateInit : CanActivateInit;
let next: ActivatedRouteSnapshot;
let state: RouterStateSnapshot;
beforeEach(() => {
canActivateInit = new CanActivateInit();
});
it('should activate page' , () => {
let result = canActivateInit.canActivate(next, state);
expect(result).toBeTruthy();
});
});
}