我正在进行单元测试,感觉我做错了。我有一个'主'对象有很多关系
author: belongsTo('person', { async: true }),
title: attr('string'),
category: belongsTo('category', { async: true }),
impact: belongsTo('impact', { async: true }),
status: attr('string'),
createdDate: attr('moment'),
submittedDate: attr('moment'),
authorOrg: belongsTo('organization', { async: true }),
locations: hasMany('location', { async: true }),
audits: hasMany('audit', { async: true })
每次我处理其相关项目(person
,category
,impact
)的单元测试时,我都必须重现所有needs
我的'主'对象具有的值。当我的位置单元测试只关心其名称及其与“主”对象之间的关系的字符串时,我感觉不适合需要category
// location/model-test.js
import {
moduleForModel,
test
} from 'ember-qunit';
moduleForModel('location', 'Location', {
// Specify the other units that are required for this test.
needs: ['model:main', 'model:person', 'model:category',
'model:impact', 'model:organization', 'model:location']
});
我做错了什么或是否有更好的方法来构建我的单元测试以处理关系?
我使用的是ember-cli 0.1.5,ember 1.9.1和ember-data beta 14
答案 0 :(得分:1)
我已经使用了一个包装器函数来为模块标签添加一个说明符,然后每次我想要一个新模块时都使用这个便捷函数:
var anotherModule = function(suffix) {
moduleForModel('location', 'Location - ' + suffix, {
needs: ['model:main', 'model:person', 'model:category',
'model:impact', 'model:organization', 'model:location']
});
};
anotherModule("module 1");
test("test 1.1", function() { });
test("test 1.1", function() { });
anotherModule("module 2");
test("test 2.1", function() { });