如何将变量从beforeEach挂钩传递到测试中?

won*_*ng2 16 jestjs

beforeEach(async () => {
  const sandbox = sinon.sandbox.create()
  ...
})

test('/add', () => {
  // how can I use sandbox here?
})
Run Code Online (Sandbox Code Playgroud)

我需要的是类似t.contextava

Bri*_*ams 10

只需声明沙箱,即可在beforeEach和test的范围内使用它:

let sandbox;

beforeEach(async () => {
  sandbox = sinon.sandbox.create()
  ...
})

test('/add', () => {
  // sandbox available for use
})
Run Code Online (Sandbox Code Playgroud)

  • 如果使用`sandbox`的多个测试并行运行,这不是问题吗? (3认同)
  • 不,这不是问题。“杰斯特”可以并行运行“测试套件”(整个测试文件),但是默认情况下,“杰斯特”可以在**测试套件内运行测试([在收集阶段按顺序遇到它们,等待每个完成并整理好之后再继续。”](https://jestjs.io/docs/en/setup-teardown#order-of-execution-of-describe-and-test-blocks)@OoDeLally (2认同)
  • 我想做相反的事情:**如何将变量从“test”或“describe”传递到“beforeEach”钩子?** (2认同)
  • 如果使用 test.concurrent... 会是一个问题吗? (2认同)