jestjs - 在 test.each Jest 中使用变量表达式

标签 jestjs

下面是我的代码片段:

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

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

这里value来了 undefined .

我的猜测是因为随着描述块在开始时被加载,it.each 的值也是如此。 .任何人都可以帮助我解决方法来获取 it.each 数组中的变量值吗?

提前致谢!!

最佳答案

而不是将值本身传递给 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
  });
});

关于jestjs - 在 test.each Jest 中使用变量表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52512309/

相关文章:

reactjs - 测试悬念时不支持错误

reactjs - 使用 Jest 和 Enzyme 调用函数

unit-testing - 如何使用 Jest 测试 Thunk 操作?

javascript - Jest.fn() 在 React 单元测试中不起作用

javascript - 如何在 jest 测试文件中需要 jQuery 插件?

javascript - 如何在 Jest 测试用例中默认模拟/考虑 javascript 原型(prototype)函数

node.js - "--async-stack-traces"nodejs 标志开 Jest ?

javascript - axios 在 componentDidMount 中获取数据后如何拍摄快照?

unit-testing - 如何对不存在的外部依赖进行开 Jest

javascript - 警告 : Can't call setState on a component that is not yet mounted