【发布时间】:2016-08-07 21:07:41
【问题描述】:
我有一个在实例变量上使用 @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}]);
}
}
【问题讨论】:
-
我写了一篇关于使用 @Input() 测试组件的简短博客,其中解释了测试所需输入的几种方法:medium.com/@AikoPath/…
标签: angular typescript unit-testing jasmine angular-test