天天看點

在Angular單元測試代碼的it方法裡連續調用兩次detectChange方法,會觸發兩次ngAfterViewInit嗎

做一個測試:

在Angular單元測試代碼的it方法裡連續調用兩次detectChange方法,會觸發兩次ngAfterViewInit嗎

測試結果:第67行執行完畢之後,ngOnChange和ngAfterViewInit均未觸發。

在Angular單元測試代碼的it方法裡連續調用兩次detectChange方法,會觸發兩次ngAfterViewInit嗎

即使手動修改Component的屬性也沒用了:

在Angular單元測試代碼的it方法裡連續調用兩次detectChange方法,會觸發兩次ngAfterViewInit嗎
在Angular單元測試代碼的it方法裡連續調用兩次detectChange方法,會觸發兩次ngAfterViewInit嗎
在Angular單元測試代碼的it方法裡連續調用兩次detectChange方法,會觸發兩次ngAfterViewInit嗎

單元測試裡修改的屬性已經生效了:

在Angular單元測試代碼的it方法裡連續調用兩次detectChange方法,會觸發兩次ngAfterViewInit嗎

還是解析到了我的Directive啊:

在Angular單元測試代碼的it方法裡連續調用兩次detectChange方法,會觸發兩次ngAfterViewInit嗎
在Angular單元測試代碼的it方法裡連續調用兩次detectChange方法,會觸發兩次ngAfterViewInit嗎

整個current都為空,執行不進去了:

在Angular單元測試代碼的it方法裡連續調用兩次detectChange方法,會觸發兩次ngAfterViewInit嗎

current字段是在2130行被清空的:

在Angular單元測試代碼的it方法裡連續調用兩次detectChange方法,會觸發兩次ngAfterViewInit嗎

繼續閱讀