javascript - 如何替换超类的javascript方法进行测试?
问题描述
我想测试一个调用其超级方法'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')};
但是,我还没有设法获得超级课程。
相关问题:
解决方案
element.constructor.__proto__.prototype.foo = () => {
console.log('This is a mock of super foo');
};
推荐阅读
- python-3.x - Scipy optimize.minimize 多参数
- python - 你如何在python中制作随机照片幻灯片
- android - Android - 离子输入调度超时
- javascript - JavaScript cleartimeout 在调用同一个函数之前
- html - 我的 Anchor 标签重定向到我自己的 Wordpress 网站/“我在标签中提供的链接”
- angular - 使用角材料创建动态垫表,如数学矩阵
- azure-devops - Key Vault 适用于本地开发,但不适用于已部署的 Web 应用程序
- django - 比较从 html 到上下文的值
- c# - UWP 绑定点奇怪的行为
- javascript - 跨平台的ID编码差异?