微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

angularjs – 获取Karma中的角度常数

鉴于应用启动:

angular.module("starter",[ "ionic" ])
    .constant("DEBUG",true)
    .run(function() {
        /* ... */
    });

我该如何测试DEBUG的值?

尝试时:

describe("app",function() {

    beforeEach(function() {
        module("starter");
    });

    describe("constants",function() {
        describe("DEBUG",inject(function(DEBUG) {
            it("should be a boolean",function() {
                expect(typeof DEBUG).toBe("boolean");
            });
        }));
    });
});

我得到了

TypeError: 'null' is not an object (evaluating 'currentSpec.$modules')
    at workFn (/%%%/www/lib/angular-mocks/angular-mocks.js:2230)
    at /%%%/www/js/app_test.js:14
    at /%%%/www/js/app_test.js:15
    at /%%%/www/js/app_test.js:16

解决方法

确保它在正确的位置实例化.
在这种情况下,没有运行beforeEach来加载模块,因为DEBUG正在describe块中注入(),而不是它块.以下工作正常:

describe("app",function() {

    var DEBUG;

    beforeEach(function() {
        module("starter");
    });

    describe("constants",function() {
            it("should be a boolean",inject(function(DEBUG) {
                expect(typeof DEBUG).toBe("boolean");
            }));
        });
    });
});

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐