javascript - 如何为每个启动配置多次运行相同的规范

标签 javascript jasmine

Jasmine 是我最喜欢的 JavaScript 测试框架。到目前为止,我已经编写了规范,没有任何问题。

但是有一天,我决定使用多种图形类型而不是单一图形类型来扩展我的应用程序(它只是简单的思维导图工具)。现在它支持“Wbs”和“Orgchart”数据模型。显然,我不想将以前数据模型的所有当前规范复制到新创建的模型中。

也许就我而言,只修复一个全局 beforeEach 函数就足够了?现在看起来像

var graph;
beforeEach(function () {
  graph = new Graph({
    template: Templates.Orgchart
  });
});

所以问题是我如何为每种类型的数据模型制定相同的规范。或者是否有任何方法可以将参数传递给 jasmine.getEnv().execute() ?任何帮助将不胜感激,谢谢。

最佳答案

您可以循环运行测试:

['Wbs', 'Orgchart'].forEach(function(dataModel){

  var graph;
  beforeEach(function () {
    graph = new Graph({
      template: Templates[dataModel]
    });
  });

  describe('with ' + dataModel, function(){
//your tests
  })


})

关于javascript - 如何为每个启动配置多次运行相同的规范,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17773203/

相关文章:

javascript - 选中复选标记时增加 Div 高度

javascript - 如何测试 Javascript 是否提交了表单?

javascript - Protractor :获取警报文本?

javascript - 不知道如何用 Jasmine 测试这个异步函数

javascript - 如何将列表从 Struts 操作类传递到 Jsp 下拉列表

javascript - CSS::after 选择器动画速度变慢

JavaScript 从数组中删除值

javascript - 需要帮助从使用 javascript 的表单中设计用户输入的样式

javascript - 如何在单元测试中的请求之间更改 $httpBackend when[method] 语句?

javascript - 如何对 ui-router 状态进行 onEnter 单元测试和解析