コードの特定の部分をテストするには、プロトタイプメソッドをモックアウトして、呼び出されていることを確認する必要があります。コードは次のようになります。
SomeObject.prototype.foo = jasmine.createSpy()
var so = SomeObject()
so.bar()
expect(SomeObject.prototype.foo).toHaveBeenCalled()
これは機能しますが、私が望まないSomeObjectの状態を変更します。だから私は私が終わった後にprototype.fooの状態を元に戻す方法があるのだろうかと思っていましたか?たぶんSomeObjectのコピーを作ることを考えていました。jQuery.extendを調べましたが、それを使用してコンストラクター関数をコピーできるかどうかわかりません。