2016-08-19 6 views
0

Alrightyはので、ここ内訳です:私はFileA.jsと呼ばれるファイルを持っています。 FileA.js内には、関連する関数funcAlpha()を持つプロトタイプのFileAObject.prototypeがあります。私はfuncAlpha(をスパイしたいジャスミンとスパイ/モッキング - JavaScriptのプロトタイプ

ファイル= FILEA

function someFunction() { 
    SomeFunctionality... 
} 

function FileAObject() { 
    Object definition 
} 

FileAObject.prototype.funcAlpha = function() { 
    ... 
} 

):したがって、私たちはこのようなものを持っています。私が知っていることから、典型的なモックは次のようになります:

var FILE_A = $.import('path.to.file.directory', 'FileA'); 

<rest of code here> 

spyOn(FILE_A, 'funcAlpha').andCallFake(function() { 
    return fakeResult; 
} 

<complete test> 

私はテストを実行すると、これは動作しません。 funcAlphaはFileAObjectの属性であり、(明らかに)FileAではないため、呼び出しは機能しません。しかし、私はどのようにスパイ目的で取得するのか分かりません。私はJavaScriptにとって非常に新しく、これは有用ではあるがかなり混乱している問題のサブセットです。どんな助けでも大歓迎です!

+0

モジュール 'FileA'から 'FileAObject'をエクスポートしていますか? –

+0

@HamletHakobyanどういう意味ですか? –

+0

@HamletHakobyanファイルの構造をよりよく説明するために、上記のエントリを変更しました –

答えて

0

Alrightyそれは、複数のオブジェクトタイプがファイル内に含まれているかに降りてくるようにします。 FileAObjectは実質的にFileA.jsファイルの属性なので、明示的に呼び出す必要があります。

var FILE_A = $.import('path.to.file.directory', 'FileA'); 

<rest of code here> 

spyOn(FILE_A.FileAObject.prototype, 'funcAlpha').andCallFake(function() { 
    return fakeResult; 
} 

<complete test> 
関連する問題