我有一个组件,该组件在实例变量上使用了 @Input()
注释,并且我正在尝试编写针对 openProductPage()
方法的单元测试,但是我不太清楚如何设置我的单元测试。我可以将该实例变量设置为公共的,但我认为我不应该采取这种方法。
我该如何设置我的Jasmine测试以便注入(提供)模拟产品并测试 openProductPage()
方法?
我的组件:
import {Component, Input} from "angular2/core";
import {Router} from "angular2/router";
import {Product} from "../models/Product";
@Component({
selector: "product-thumbnail",
templateUrl: "app/components/product-thumbnail/product-thumbnail.html"
})
export class ProductThumbnail {
@Input() private product: Product;
constructor(private router: Router) {
}
public openProductPage() {
let id: string = this.product.id;
this.router.navigate([“ProductPage”, {id: id}]);
}
}