在test.each玩笑中使用变量表达式

时间:2018-09-26 07:32:13

标签: jestjs

下面是我的代码段:

describe('Upper Describe,()=>{
  let value;
  beforeEach(()=>{
    value=require('testModule').value;
  });

  it.each([
    `${value}`,
  ])('test something',(value)=>{
    console.log(value);
  });
});

这里value变成undefined

我的猜测是,因为描述块从一开始就被加载,it.each的值也被加载。任何人都可以帮我一个变通办法,以获取其中的变量值。每个数组?

提前谢谢!

1 个答案:

答案 0 :(得分:0)

传递值的函数而不是将值本身传递给it.each

这将延迟对值的评估,因此beforeEach可以修改返回的值:

describe('Upper Describe', () => {
  let value;
  beforeEach(() => {
    value = require('testModule').value;
  });

  it.each([
    () => `${value}`,  // pass a function that returns the value
  ])('test something', (func) => {
    console.log(func());  // SUCCESS: prints value export from testModule
  });
});