Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 用于Jest测试用例、设置和拆卸的箭头函数与匿名函数_Javascript_Jestjs - Fatal编程技术网

Javascript 用于Jest测试用例、设置和拆卸的箭头函数与匿名函数

Javascript 用于Jest测试用例、设置和拆卸的箭头函数与匿名函数,javascript,jestjs,Javascript,Jestjs,我收集到的信息表明,该软件非常倾向于使用箭头函数来定义测试用例、设置函数和拆卸函数。然而,似乎在测试用例、设置和拆卸函数之间共享这个上下文有未记录的支持 我更喜欢箭头函数样式,因为它更适合静态分析,并且不太依赖于此上下文中包含的内容的假设 这些文件似乎暗示了以下模式: describe('a test suite', () => { let shared; beforeEach(() => { shared = someInitializer(); });

我收集到的信息表明,该软件非常倾向于使用箭头函数来定义测试用例、设置函数和拆卸函数。然而,似乎在测试用例、设置和拆卸函数之间共享
这个
上下文有未记录的支持

我更喜欢箭头函数样式,因为它更适合静态分析,并且不太依赖于
上下文中包含的内容的假设

这些文件似乎暗示了以下模式:

describe('a test suite', () => {
  let shared;

  beforeEach(() => {
    shared = someInitializer();
  });

  test('a test case', () => {
    expect(shared).not.toBeUndefined();
  });
});
另一种未记录的模式:

describe('a test suite', function () {
  beforeEach(function () {
    this.shared = someInitializer();
  });

  test('a test case', function () {
    expect(this.shared).not.toBeUndefined();
  });
});

这是Jasmine的延迟API吗?这是一种很好的做法,还是在未来的版本中有消失的危险?

i第一种模式似乎更容易阅读。只有框架设计师才能肯定地回答这个问题。如果后者没有被记录,你就不应该相信它会一直存在。至少,开发人员明确表示他们更喜欢前者。前者的风格更清楚范围。正如你所指出的,这是茉莉花未经证实的滞留。