Jasmine是我最喜欢的测试javascript框架。到目前为止,我已经编写了没有任何问题的规范。
但有一天,我决定扩展我的应用程序(它只是简单的思维导图工具),使用多种图形类型而不是单一图形类型。现在它支持“Wbs”和“Orgchart”数据模型。显然,我不想将以前的数据模型的所有当前规范复制到新创建的规范中。
在我的情况下,仅仅修复一个全局的beforeEach函数就足够了吗?现在看起来像
var graph;
beforeEach(function () {
graph = new Graph({
template: Templates.Orgchart
});
});
所以问题是如何为每种类型的数据模型制作相同的规范。或者,如果有任何方法可以将参数传递给jasmine.getEnv().execute()
?任何帮助将不胜感激,谢谢。
答案 0 :(得分:1)
您可以循环运行测试:
['Wbs', 'Orgchart'].forEach(function(dataModel){
var graph;
beforeEach(function () {
graph = new Graph({
template: Templates[dataModel]
});
});
describe('with ' + dataModel, function(){
//your tests
})
})