node.js - Jasmine - 从外部文件加载嵌套描述?
问题描述
我正在使用 Jasmine 和 Protractor 和 AngularJS 编写 e2e 测试。我有一个描述页面的父描述,并且在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();
在其他文件中,我只是导出一个匿名函数并包含嵌套描述的代码。这可行,但不幸的是,测试没有茉莉花上下文(无法访问 beforeAll 中的任何内容)。
我很好奇是否有标准或更好的方法来实现这一点?
解决方案
//export.js
describe(...
)
//Import or your main specs file
describe('',()=>{
require('./export');
})
不要以方法的形式导出,只需编写规范并在主要描述中使用 require 导入它。
推荐阅读
- python - 当一个numpy数组被切片时,有没有办法不制作副本?
- javascript - JS中console.log('any string or statement'+ object)和console.log('any string or statement', object)的区别?
- php - 具有基本 php 形式的 DropzoneJs
- angularjs - 如何使用 && 显示 ng-checked 条件
- javascript - javascript - 发送了 2 个承诺,第二个承诺的结果排在第一位 - 如何处理?
- c# - 如何在 C# 中正确反序列化 JSON
- google-cloud-platform - BigQueryIO - 尽管有 CreateDisposition.CREATE_IF_NEEDED,但只能创建第一天表
- python - Python3,word2vec,如何在我的模型中获取关于“价格”的相似度排名列表
- event-handling - 如何在父 Svelte 组件中使用事件委托
- c - strtok 不返回任何值