【发布时间】:2014-09-11 10:47:41
【问题描述】:
我正在使用旧版 API 开发新版本的应用程序(我无法控制 API 返回的内容等)。
在应用程序初始化中,我请求并存储一些站点范围的信息,我称之为 stateFactory。 stateFactory 内部有categories 属性(对象数组),它存储id -> category name 关系。
在我的应用模板中,我使用过滤器通过 id {{ cat_id | categoryNameByIdFilter }} 提取类别名称,它在 stateFactory.categories 中进行查找并返回类别名称。
如何为此类功能(jasmine、mocha、chai 等)编写单元测试?
// represantion of what the stateFactory looks like with some data in it
app.factory('stateFactory', ['', function(){
return {
categories = [
{ cat_id: 1, cat_name: "some category name" },
{ cat_id: 2, cat_name: "another category name" }
];
};
}])
// categoryNameByIdFilter
app.factory('categoryNameByIdFilter', ['stateFactory', function(stateFactiry){
return function(cat_id){
if ( !cat_id ) return null;
var cat_obj = _.findWhere(stateFactiry.categories, {
id: cat_id
});
if ( !cat_obj ) return null;
return cat_obj.cat_name;
};
}]);
【问题讨论】:
标签: jasmine mocha.js karma-runner karma-jasmine