下面是我的代码段:
describe('Upper Describe,()=>{
let value;
beforeEach(()=>{
value=require('testModule').value;
});
it.each([
`${value}`,
])('test something',(value)=>{
console.log(value);
});
});
这里value
变成undefined
。
我的猜测是,因为描述块从一开始就被加载,it.each
的值也被加载。任何人都可以帮我一个变通办法,以获取其中的变量值。每个数组?
提前谢谢!
答案 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
});
});