繁体   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