1

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

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

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

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

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

4

1 回答 1

1

您可以循环运行测试:

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

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

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


})
于 2013-07-21T20:58:17.220 回答