Модульные тесты Ember-cli с потребностями отношений "
Я работаю над своими модульными тестами, и мне кажется, что я делаю что-то неправильное. У меня есть "главный" объект, который имеет много отношений
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
, которые имеет мой "основной" объект, Мне просто не нужно, чтобы мое местоположение unit test нуждалось 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
Ответы
Ответ 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() { });