Как проверить значение функции, доступ к которой осуществляется с помощью метода instance ()

У меня есть компонент React, как показано ниже

import React, { Component } from 'react'

import { ActionWrapper } from 'components/Wrappers'

import { P } from 'components/Text'

class TestStock extends Component {
  total = (a, b) => {
    let totValue = 0
    totValue = a + b
    return totValue
  }

  render() {
    return (
      <ActionWrapper
        title = "In stock"
        description = {'Manage your in stock items'}
      >
        <P>Total is {this.totValue}</P>
      </ActionWrapper>
    )
  }
}

export default TestStock

и я должен написать тест, чтобы проверить общую функцию ниже

 describe('total function in the stock', () => {
  const wrapper = shallow(<Stock />)
  const value = wrapper.instance().total(5 + 7)

  test('for total value calculation', () => {
    expect(value).toBe(6)
  })

  test('for total less or equal to 10 ', () => {
    expect(value).toBeLessThanOrEqual(10)
  })
})

Но тест не удался, так как я получил Nan в качестве значения. Что я сделал не так, как мне проверить эту функцию

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
0
0
10
1

Ответы 1

Проблема в том, что вместо передачи значений в качестве аргументов функции экземпляра вы передаете их как выражение, и, следовательно, вторым аргументом является undefined, в результате чего a + b будет оценен как NaN внутри функции. Измените свой код на

const value = wrapper.instance().total(5, 7)

Другие вопросы по теме