更新:答案在这里https://stackoverflow.com/a/35319780/7729975
角度8。
在我的孩子部分,我有:
@Output() selectedProduct = new EventEmitter<Product>();
handleProductSelection(product: Product){
this.selectedProduct.emit(product);
}
child.component.html:
<button *ngFor="let product of products" (click)="handleProductSelection(product)">{{product.productName}}</button>
我想编写一个单元测试,以确认当被调用时,handleProductSelection()将强制selectedProduct发出通过的产品。
到目前为止,我有:
it("selected product is emitted out", () => {
const product = new Product(SampleProducts[0])
component.handleProductSelection(product);
component.selectedProduct.subscribe() // dont catch it
});
基本,在调用该方法之后,我想捕获发出的值,以确保传递/单击的产品是发给父对象的东西。