簡體   English   中英

如何測試Angular JS中controller。$ onInit方法中設置的屬性

[英]How to test properties set in controller.$onInit method in angular js

我有一種情況,我在controller。$ onInit方法中初始化了一些變量。 如何測試這些屬性是否設置正確?

控制者

 ctrl.$onInit = function () {
    ctrl.devices = _.cloneDeep(ctrl.formDevices);
};

單元測試

it('should expose device related properties to view', function () {
        expect(controller.devices).toBeDefined();
};

輸出量

單元測試輸出

您必須顯式調用$ onInit函數。 $ componentController不會調用此函數,因為它是生命周期掛鈎的一部分,並且不會運行。

有幾種方法可以將$ onInit稱為隱式,可以在此處找到。

檢查$ onInit函數是否正確設置屬性的最簡單方法是調用$ onInit。 畢竟,您要測試$ onInit函數是否起作用,而不是AngularJS是否通過其生命周期掛鈎。

it('should expose device related properties to view', function () {
    controller.$onInit();
    expect(controller.devices).toBeDefined();
};

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM