在玩笑中匹配生成器/迭代器

问题描述

有没有开玩笑的方法来匹配生成器的输出

像这样:

function *f() {
  yield 1
  yield 2
  yield 3
}

it('',() => {
  expect(f()).toMatchObject([ 1,2,3 ])
})

就像这样:

class X {
  *[Symbol.iterator]() {
    yield 1
    yield 2
    yield 3
  }
}

it('',() => {
  expect(new X).toMatchObject([ 1,3 ])
})

也喜欢这样:

class X {
  get y() {
    return new Y
  }
}
class Y {
  *[Symbol.iterator]() {
    yield 1
    yield 2
    yield 3
  }
}

it('',() => {
  expect(new X).toMatchObject({ y : [ 1,3 ] })
})

如果方法可以在单个 expect 调用中处理多个嵌套的 iterable 对象,那就太好了。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)