Я знаю, что это глупый вопрос, но я не могу понять, почему. Я новичок в тестировании и новичок в JavaScript, поэтому заранее приношу свои извинения.
У меня есть следующий тест.
describe('initialized from copy job functionality', () => {
it('should initialize the constructor based on production selection', () => {
spyOn(MockWizardService, 'loadViewsForWizardSteps').and.returnValue(q.resolve({
templates
}));
controller.Init();
scope.$digest();
expect(controller.templatesToBeDisplayed).toEqual(templatesAll);
});
Это мои шаблоны.
let templates = [
'views/wizards/create_test/sortStep.html',
];
let templatesAll = [
'views/wizards/create_test/general.html',
templates,
'views/wizards/create_test/summary.html'
];
templates
поменяется, поэтому он у меня в таком формате.
Это ошибка, которую я получаю.
Expected $[1] = Object({templates: [ 'views/wizards/create_test/sortStep.html' ] }) to equal [ 'views/wizards/create_test/sortStep.html' ].
Я знаю, что мне нужно изменить способ, которым шаблоны находятся в templatesAll, но я не могу понять, как это сделать.
Вы не можете исправить это, поменяв свой expect
?
expect(controller.templatesToBeDisplayed.templates).toEqual(templatesAll)
Может быть, постарайтесь дать более четкий ответ на свой вопрос. Вы заметили, что он возвращает object
, содержащий массив templates
?
Ваш тест не очень явный, потому что внутри вашего контроллера спрятано много кода. Попробуйте протестировать небольшую функцию, и, возможно, если вы покажете нам код, мы будем более полезны.
Удачи :)