0
とすると、x
は外部ライブラリであり、Thing
はx
から構築できるオブジェクトです。コンストラクタ "x.Thing()"の盗難/スパイ
app.service('thingService', function() {
var thing;
this.createThing = function(thingParam){
thing = new x.Thing(thingParam);
}
});
私の最初の試みは、この付属:これはすべてのようにのように、角度のサービスに包まれ
xSpy = jasmine.createSpyObj('x', ['Thing']);
spyOn(window, 'x').andReturn('xSpy');
をしかし、それはまだ文句Thing
を構築する必要があり、そのライン上のx() method does not exist
その
をしかし、これはテストされていたコード(サービスの 'createThing'法)におけるX ''の使用を解決していないようです。テストにコードを追加すると、 'ReferenceError:変数を見つけることができません:x'テストを実行します。 –
' thing'だけをスパイすると仮定しました。 'x'全体を置き換えたい場合は、1つ上のレベルに移動して' x'を覚えて 'window.x'を置き換えてください(' x'は本当にグローバルです)。 'x'がグローバルでない場合、あなたの例を明確にしてください。あなたが指摘したエラーはこれを指しています。 –