私のコントローラでは、条件に基づいて変数に空の関数を割り当てるステートメントがあります。Jasmine:変数が空の関数かどうかを確認します
var vm = this;
vm.emptyFunction = angular.isFunction(callback) ? callback : function() {};
どのように私はこのvm.emptyFunction
が実際に空の関数であることをテストすることができますか?動作しませんでした
もの:
expect(vm.emptyFunction).toEqual(jasmine.any(Function));
しかし、これは任意の関数定義のための有効な取得します:仕事がある
expect(vm.emptyFunction).toEqual({});
expect(vm.emptyFunction()).toEqual({});
expect(vm.emptyFunction).toEqual(() => {}); //using typescript
シング。
なぜあなたはこのような場合のためにテストしたいのでしょうか? 'emptyFunction'を外部から定義できますか?それが空の関数なら、これはエラーでしょうか?この関数はデフォルトでは空であり、テスト中のモジュールの初期化されていない属性をテストするために適切な関数を割り当てる必要がありますか? –
ここで 'callback'がコントローラに注入されています。未定義の 'callback'を渡すかどうかをテストする必要があります。' vm.emptyFunction'は 'callback'ではなく空の関数です。 –
そして、前者の場合には 'function'型のテストを行い、コールバックが呼び出されたかどうかをテストすることが必要です。 –