В настоящее время я использую Vue. js для разработки интерфейсного приложения и использую Vue Test Utils + Jest для тестирования своих компонентов.
У меня есть компонент, который упаковывает список компонентов, которые по сути являются слотами.
В функции beforeEach я высмеиваю эти слоты.
stepContent1 = {
render(h) {
return h(StepContent, { props: { title: "Step1", subTitle: 'Subtitle for Step 1', stepKey: 'stepOne' } });
},
};
stepContent2 = {
render(h) {
return h(StepContent, { props: { title: "Step2", subTitle: 'Subtitle for Step 2', stepKey: 'stepTwo' } });
},
};
stepContent3 = {
render(h) {
return h(StepContent, { props: { title: "Step3", subTitle: 'Subtitle for Step 3', stepKey: 'stepThree' } });
},
};
Затем я передаю слоты в shallowMount
const wrapper = shallowMount(FormWizard, {
slots: {
default: [stepContent1, stepContent2, stepContent3],
},
mocks,
}) ;
Если я проверю реквизит с помощью этого метода.
wrapper.findAll(StepContent).wrappers[0].vm.stepKey
Я смогу получить реквизит отсека для детей. Но если вы хотите провести тестирование черного ящика, например, запуск клика в FormWizard, который зависит от реквизита StepContent, тогда опора слотов StepContent не определена.
Есть идеи, почему это может произойти?
Заранее спасибо.