1
在我的控制器中,我有一条语句根据条件在变量中分配一个空函数。Jasmine:检查一个变量是否为空函数
var vm = this;
vm.emptyFunction = angular.isFunction(callback) ? callback : function() {};
我该如何测试这个vm.emptyFunction
实际上是一个空函数?
事情,没有工作:
expect(vm.emptyFunction).toEqual({});
expect(vm.emptyFunction()).toEqual({});
expect(vm.emptyFunction).toEqual(() => {}); //using typescript
件事的工作是:
expect(vm.emptyFunction).toEqual(jasmine.any(Function));
但是,这将得到任何有效的函数定义。
为什么你要测试这种情况? 'emptyFunction'可以从外部定义,如果它是一个空函数,这将是一个错误?该函数默认是空的,应该分配一个适当的函数,以便测试被测模块的未初始化属性? –
这里'callback'被注入到控制器中。我需要测试是否传递了未定义的'callback',然后'vm.emptyFunction'是一个空函数而不是'callback'。 –
然后在前一种情况下测试类型'function'并测试回调是否被调用应该是要走的路。 –