作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个正在测试的类,它创建另一个类的实例。我想 stub 整个第二个类,这样它的构造函数就不会被调用。例如,如果我有这个设置:
测试.js
class Test {
constructor() {
}
func() {
let foo = new Foo()
foo.hello()
}
}
class Foo {
constructor() {
this.a = 1
this.b = 2
this.c = 3
console.log('original constructor')
}
hello() {
console.log('original hello')
}
goodbye() {
console.log('original goodbye')
}
}
Foo
类,这样当我为
Test.func()
运行测试时它不调用原始
Foo
构造函数,而是一个返回假
Foo
的 stub 构造函数目的。然后我将 stub
hello
假货功能
Foo
打印对象
stubbed hello
而不是
original hello
.
最佳答案
在 sinon 文档中:
如果要创建 MyConstructor 的 stub 对象,但不希望调用构造函数,请使用此实用函数。
var stub = sinon.createStubInstance(MyConstructor)
关于javascript - sinon:如何 stub 整个类,而不仅仅是一个方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47874022/
我是一名优秀的程序员,十分优秀!