我想模拟/存在一个类方法的解析,该方法在测试同一个类的另一个方法时返回一个promise。我使用jest
。
我有以下课程Blah
我要测试foo()
方法:
export default class Blah {
foo () {
this.bar().then(result => {
// some logic here
})
}
bar () {
return new Promise(function (resolve, reject) {
// fetches some stuff over the network
resolve('hello world')
})
}
}
因为foo()
使用bar()
- 一种通过网络执行内容的承诺返回方法 - 我想嘲笑bar()
的决心;让我们说让它解决what up
。
让我们说测试看起来像这样:
import Blah from './blah'
test('foo() - bar() resolves "what up"', () => {
const blah = new Blah()
// mock blah.bar() so that is resolves "what up"
// {some assertions on blah.foo() here}
})
这是我第一次与jest
合作并且我已经阅读过这些文档,但我仍然很难围绕这个案例。
如何在测试bar()
时模拟foo()
的已解析值?
答案 0 :(得分:1)
仍然只是JavaScript意味着任何对象属性都可以被动态覆盖:
//li[a and preceding::h2[1][.='Sales'] and ../following-sibling::*[1][self::hr]]