如何设置从JS中的函数返回的两个全局对象?

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

我是Javascript和Jest的新手,我有这个代码:

const foo = () => {
  const fun = //some function
  const obj = //some object
  //...
  return {fun, obj};
}

describe('Battery test', () =>
  let fun = ()=>{};
  let obj = {};
  beforeEach(() => {
    {fun, obj} = foo();
  }
}

这会产生错误:

Unexpected token

  > 36 |         {fun, obj} = foo();
       |                    ^                        

我想到的唯一(超级丑陋)解决方法是:

describe('Battery test', () =>
  let fun = ()=>{};
  let obj = {};
  beforeEach(() => {
    const wrapper = foo();
    fun = wrapper.fun;
    obj = wrapper.obj;
  }
}

有没有其他方法可以做到这一点?

javascript unit-testing jest
1个回答
4
投票
 ({fun, obj} = foo());

需要将对象解构与块语句区分开来。

© www.soinside.com 2019 - 2024. All rights reserved.