[英]jasmine test javascript inner function
这是我的JavaScript代码
function organization() {
var self = this;
function activate() {
// statements
}
}
我知道方法activate()的范围仍然在方法organization()内,这就是我面临的挑战。
我的要求是在Jasmine中编写一个测试,以确保已激活方法激活。
it('activate method defined?', function() {
expect(activate()).toBeDefined();
});
但是此测试失败,并显示以下消息
TypeError:激活不是函数
任何使上述测试成功的投入将非常有帮助。
以这种方式定义脚本。
function organization() {
var self = this;
self.activate = function() {
// statements
}}
并像这样访问功能
var obj = new organization();
obj.activate();
您无需检查实际调用或定义的私有功能“ activate”。 您需要检查公共函数“组织”是否被调用或定义,以及是否激活设置了一些公共属性等。例如:
function organization() {
var vm = this;
activate();
function activate() {
vm.activated = true;
}
}
it('should activate organization', function() {
organization();
expect(vm.activated).toBe(true);
});
或者,如果需要,可以使功能以公共方式激活:
function organization() {
var vm = this;
vm.isActivated = false;
vm.activate = activate;
function activate() {
vm.isActivated = true;
}
}
it('should activate organization', function() {
vm.activate();
expect(vm.isActivated).toBe(true);
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.