Jasmine - 从外部文件加载嵌套描述?

Jasmine - Load nested describes from external files?

我正在使用 Jasmine 和 Protractor 以及 AngularJS 编写端到端测试。我有一个父级 describe 描述了该页面,并且 beforeAll 中的一些设置调用会转到正确的页面以进行以下测试。我已将这些测试分解为每个功能的多个描述。这是一个例子:

describe('Page Detail', () => {
 beforeAll(() => {
     utils.doSomething();
 })
 describe('Location Section'), () => ...
 describe('Information Section', () => ...

我遇到的问题是这个模块中有很多功能,测试开始推送 300-400 行代码。理想情况下,我想将嵌套的描述放在单独的文件中并导入它们。我做过这样的事情:

 const describeLocation = require('./folder/location'),
       describeInformation = require('./folder/information');
describe('Page Detail', () => {
  beforeAll(() => {
      utils.doSomething();
  })

  describeLocation();
  describeInformation();

在其他文件中,我只是导出一个匿名函数并包含嵌套的描述代码。这行得通,但不幸的是,测试没有 jasmine 上下文(无法访问 beforeAll 中的任何内容)。

我很好奇是否有标准或更好的方法来完成此操作?

//export.js

describe(...

)

//Import or your main specs file

describe('',()=>{
require('./export');
})

不要以方法的形式导出,只需编写规范并在主要描述中使用 require 导入即可。