Jest Enzyme тест не пройден с неопределенным - PullRequest
0 голосов
/ 17 ноября 2018

В приведенном ниже коде я использую React, Jest и Enzyme, чтобы подтвердить, что реквизиты, переданные в компонент, имеют известное значение. Тестируемый компонент состоит из контролируемых элементов INPUT. Когда я изменяю одно из проверенных значений на FAIL, в тесте полученное значение возвращается как неопределенное вместо неправильного значения. Я в недоумении, почему. Я неправильно проверяю значение входных элементов?

import React from "react"
import { shallow, mount, render } from 'enzyme';
import { MyAddressForm } from "../components/addressForm"

const testText = "fieldValue"

const testObject = {
  firstName: {testText},
  lastName: 'Smith'
}

const wrapper = shallow(<MyAddressForm shipTo={testObject}  />)

var fields = []

for (var field in testObject) {
  if (testObject.hasOwnProperty(field)) {
    fields.push(field)
  }
}

var theTest = (fieldName) => {
  let selector = `input[name="${fieldName}"]`
  expect(wrapper.find(selector).prop('value').text).toEqual(testText)
}

test.each(fields)(
  '%s',
  fieldName => theTest(fieldName)
)

1 Ответ

0 голосов
/ 17 ноября 2018

Поскольку firstName устанавливается для объекта, а не для значения testText!

Правильная функция теста должна быть:

var theTest = (fieldName) => {
  let selector = `input[name="${fieldName}"]`
  expect(wrapper.find(selector).prop('value')).toEqual(testText)
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...