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

Javascript 如何为每个启动配置多次运行相同的规范,javascript,jasmine,Javascript,Jasmine,Jasmine是我最喜欢的测试javascript框架。到目前为止,我编写的规范没有任何问题 但有一天,我决定用几种图形类型而不是单一图形类型来扩展我的应用程序(这只是一个简单的思维导图工具)。现在它支持“Wbs”和“Orgchart”数据模型。显然,我不想将以前数据模型的所有当前规格复制到新创建的规格 在我的情况下,在每个函数之前只修复一个全局变量就足够了吗?现在看来 var graph; beforeEach(function () { graph = new Graph({ t

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

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

在我的情况下,在每个函数之前只修复一个全局变量就足够了吗?现在看来

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
  })


})

您可以在循环中运行测试:

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

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

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


})