У меня есть компонент с двумя необходимыми реквизитами. Модульный тест не работает, потому что я получаю следующие ошибки:
console.error node_modules\vue\dist\vue.runtime.common.js:589
[Vue warn]: Missing required prop: "heading"
(found in <Root>)
console.error node_modules\vue\dist\vue.runtime.common.js:589
[Vue warn]: Missing required prop: "subHeading"
(found in <Root>)
console.error node_modules\vue\dist\vue.runtime.common.js:589
[Vue warn]: Missing required prop: "heading"
(found in <Root>)
console.error node_modules\vue\dist\vue.runtime.common.js:589
[Vue warn]: Missing required prop: "subHeading"
Источник компонента:
<template>
<div class = "level-item has-text-centered">
<div>
<p class = "heading">{{ heading }}</p>
<p class = "title">{{ subHeading }}</p>
</div>
</div>
</template>
<script>
export default {
name: 'StatisticsBannerItem',
props: {
heading: {
required: true
},
subHeading: {
required: true
}
}
};
</script>
Источник теста:
import { shallow, mount } from '@vue/test-utils';
import StatisticsBannerItem from '../../../src/components/statistics-banner-item.vue';
describe('Statistics Banner', () => {
it('renders item with props data correctly', () => {
const wrapper = shallow(StatisticsBannerItem, {
propsData: {
heading: 'Test Heading',
subHeading: 'Test Subheading'
}
});
// assertions
});
});
Однако, согласно официальная документация, объект propsData должен предоставлять реквизиты для компонента.
Как правильно передать реквизиты компоненту в тесте?
Я выделил этот единственный тест, больше никто его не использует.
Это опечатка в реальном коде, который вы используете? вроде propsData: { propsData: {}} или что-то в этом роде?
Ваш код в порядке. Просто протестировал. У вас другая проблема, где-то еще.
Это прискорбно, думаю, я тогда застрял.
Какие у вас версии? Может проблема в этом.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Проблема заключалась в том, что результаты теста были не так ясны, как хотелось бы. Ошибки исходили из другого теста (другой it внутри того же файла), которому не передавались реквизиты - выходные данные теста были организованы таким образом, что казалось, что ошибки исходят из теста в вопросе.
Вот почему вопрос должен включать минимальный воспроизводимый пример. Если этого не произойдет, мы не сможем помочь.
Код, которым вы поделились, правильный, поэтому, возможно, проблема связана с другим тестом или другим компонентом, который использует этот компонент.