インスタンス変数でアノテーションを使用するコンポーネントを持っていて、メソッド@Input()
の単体テストを作成しようとしていopenProductPage()
ますが、単体テストのセットアップ方法が少しわかりません。そのインスタンス変数を publicにすることもできますが、それに頼る必要はないと思います。
openProductPage()
モックされた製品が注入され (提供されますか?)、メソッドをテストできるように Jasmine テストをセットアップするにはどうすればよいですか?
私のコンポーネント:
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}]);
}
}