茉莉测试javascript内部函数
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: activate is not a function
任何使上述测试成功的输入都将非常有帮助。
您不需要检查实际调用或定义的私有函数'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);
});
以这种方式定义脚本。
function organization() {
var self = this;
self.activate = function() {
// statements
}}
,并像这样访问函数
var obj = new organization();
obj.activate();
相关文章:
- 如何从另一个处理程序内部取消JavaScript事件处理程序函数的执行
- 从内部函数javascript内部分配外部函数的对象
- Javascript中的内部函数作用域
- JavaScript 如何定义内部函数
- JavaScript 在内部函数中保留一个 var
- 如何使用Javascript访问内部函数
- html标记内部的JavaScript函数调用
- Javascript对象看不到内部函数
- 如何在javascript函数内部将javascript变量传递给php
- 函数内部的JavaScript全局变量定义
- 将此对象传递给JavaScript中的内部函数
- inner.html内部的JavaScript函数调用
- JavaScript 面向对象的调用函数内部函数或调用函数 insede var
- 函数内部的JavaScript延迟,没有全局变量
- 调用一个位于字符串内部的JavaScript函数,并将params与一个变量连接起来
- 从动态加载的内部函数调用Javascript函数
- 在javascript中调用最内部函数的最佳方法
- 在 JavaScript 中调用内部函数
- 正在调用内部函数Javascript
- 添加数字使用内部函数- JavaScript