Я новичок в модульном тестировании, и я не могу определить/настроить правильные реквизиты для следующего: js файл REACT / JS шутка/фермент
populateModuleDropdown = (moduleList) => {
let modules = moduleList.map(module => {
return (
<DropdownItem key = {module.ModuleId} onClick = {() => {
this.props.setTarget(null);
}}>
<Link className='full-link'
onClick = {e => {if (this.props.module.moduleId === module.ModuleId){e.preventDefault()}}}
to = {'/'+module.Name.replace(/ /g,'')}>
{module.Name}
</Link>
</DropdownItem>
)
})
}
Я сделал несколько подобных файлов, и все они выглядят нормально и проходят правильно, но не могут определить и исправить следующую ошибку. Пожалуйста, взгляните на пусть mockmodules
Test.js
configure({adapter: new Adapter()});
describe(' testing ', () => {
let tree;
let baseProps;
let mockdefaultData;
let mockmodule = {
Name:"test",
moduleId:{},
beforeEach(() => {
module : mockmodule,
it (' Should render without a Module props',() => {
baseProps = {
...baseProps,
module: {},
};
// code
});
it(' Should render with ALL of the props', () => {
//code
});
})
}
})



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


Что ж, эта ошибка означает, что объект, на который вы ссылаетесь, в данном случае
module.Name -- не имеет функции replace. Вопрос, который может решить ваш вопрос:
console.info(module.Name), чтобы убедиться, что это то, что вы ожидаете.Если вы пытаетесь использовать встроенный в JS метод замены строки, вам также следует проверить, является ли typeof(module.Name) строкой. Если это так, следуйте документации по методу замены строки здесь: https://www.w3schools.com/jsref/jsref_replace.asp
Если это не так, вы можете вернуться назад, чтобы убедиться, что у вас есть правильные данные.
Предполагая, что module.Name на самом деле является строкой, его использование будет следующим:
module.Name = module.Name.replace(/ /g, '');