Ошибка типа: невозможно прочитать свойство 'map' из неопределенного - PullRequest
0 голосов
/ 18 января 2019

Я пытаюсь запустить модульный тест для следующего кода вот где ошибка указывает на:

populateActionDropdown = (actionList) => {
    let actions = actionList.map(action => {
        if (action.Name != 'Sign Out') {
            let layout = ''
            if (action.Command.includes('Layout')) {
                if (/\(([^)]+)\)/.exec(action.Command)) {
                    layout = '/' + /\(([^)]+)\)/.exec(action.Command)[1].toLowerCase();
                }
            }

Вот как я настраивал большую часть моего модульного теста. Но у меня проблемы с вызовом реквизита, который содержит карту или сортирует рядом с ней. Пример: this.props.something.map () или props.sort (). Как я могу издеваться над actionList, чтобы карта называлась

Спасибо

Код юнит-теста ниже:

describe('ActionMenu ', () => {

    let tree;
    let baseProps;
    let mockaction = {
        actionId: "test",
        name: "test",
        map: "test",
    };
    let mocksetTarget;
    let mocksetAction;
    let mockmodule = {
        name: "test module name",
    };
    let mockactionMenuDropdownOpen;
    let mockactionMenuToggle;
    let mockactionList;

    beforeEach(() => {
        baseProps = {
            action: mockaction,
            setTarget: mocksetTarget,
            setAction: mocksetAction,
            module: mockmodule,
            actionMenuDropdownOpen: mockactionMenuDropdownOpen,
            actionMenuToggle: mockactionMenuToggle,
            actionList: mockactionList,
        }
    })

    it(' Should render with all of the props', () => {
        tree = renderer.create(<BrowserRouter><ActionMenuComponent {...baseProps}
        />
        </BrowserRouter>)
        let treeJson = tree.toJSON()
        expect(treeJson).toMatchSnapshot();
        tree.unmount()
    });
});

1 Ответ

0 голосов
/ 18 января 2019

Но у меня возникают проблемы с вызовом реквизита, который содержит map или sort далее к этому. Пример: this.props.something.map() или props.sort().

Чтобы пройти тест, присвойте mockactionList следующее значение:

let mockactionList = [
  {
    actionId: "test",
    Name: "test",
    Command: []
  },
  {
    actionId: "test2",
    Name: "test2",
    Command: []
  }
];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...