如何替换超类的javascript方法进行测试?

问题描述 投票:-1回答:1

我想测试调用其超级方法'foo'的方法'foo':

foo(){
     super.foo();
     //do some extra stuff
}

如果要引用同一类的另一个方法,例如

foo(){
     this.baa();
     //do some extra stuff
}

...我可以简单地替换baa方法进行测试,例如

element.baa = () => { console.log('This is a mock of baa')};
element.foo();

expect(effectsOfFoo).toBe(Ok).

但是,如何对超级方法'foo'执行相同的操作?

也许像

element.constructor.getSuperClass().foo = () => { console.log('This is a mock of super foo')};

但是,我还没有获得超级班。

相关问题:

spying on/mocking super class methods in es6

javascript testing super
1个回答
0
投票
element.constructor.__proto__.prototype.foo = () => {
                        console.log('This is a mock of super foo');
                    };
© www.soinside.com 2019 - 2024. All rights reserved.