gpt4 book ai didi

angularjs - 获取 Karma 中的 Angular 常数

转载 作者:行者123 更新时间:2023-12-02 10:22:18 30 4
gpt4 key购买 nike

鉴于应用程序启动:

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 中进行 inject() 编辑 block ,而不是 it block 。以下工作正常:

describe("app", function() {

var DEBUG;

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

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

关于angularjs - 获取 Karma 中的 Angular 常数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26733273/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com