Obj.Obj2.func().func2()みたいな多重構造にSpyしたい場合
Jasmine3.3
当たり前のやり方だけど、何回も混乱したのでメモ
ServiceのPropertyにSpyする場合。
test.service.ts
export class TestService {
obj: Something
test() {
obj.obj2.func().func2();
}
}
test.service.spec.ts
describe('TestService', () => {
let testService: TestService();
beforeEach(() => {
testService = new TestService(); //サービスの初期化
let testSpy: any = testService;
});
it('test') () =>{
const func2Obj = jasmine.createSpyObj('Ethereum', ['func2']);
func2Obj.func2.and.returnValue(/* 任意の処理 */);
const funcObj = jasmine.createSpyObj('Func', ['func']);
funcObj.func.and.returnValue(func2Obj); // func2をリターン
testSpy.obj = {obj2: funcObj} //funcObjを持つobj2を持つオブジェクトを挿入
testSpy.test();
});
});
Author And Source
この問題について(Obj.Obj2.func().func2()みたいな多重構造にSpyしたい場合), 我々は、より多くの情報をここで見つけました https://qiita.com/U-T/items/1f25c5e96ee77dbdb2b9著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .