Форум программистов, компьютерный форум, киберфорум
React/ReactJS
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
2 / 2 / 0
Регистрация: 08.06.2012
Сообщений: 126

Юнит-тестирование селекта material ui

09.12.2021, 17:08. Показов 493. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день!У меня есть элемент селект из библиотеки material ui. Кусочек из кода:
JavaScript
1
2
3
4
5
6
7
8
  <Select
        id="language_select"
        value={currectLanguage}
        onChange={handleLanguageChange}
      >
        <MenuItem value={ENGLISH}>EN</MenuItem>
        <MenuItem value={RUSSIAN}>RU</MenuItem>
      </Select>
и по клику отрабатывает событие onChange, который меняет язык с англ на русский
JavaScript
1
2
3
const handleLanguageChange = useCallback((event: SelectChangeEvent) => {
   current.language = event.target.value
  }, [])
мне нужно с помощью jest и enzyme протестировать событие onChange, но я совсем не понимаю, как это сделать. Попробовала так, но ничего не выходит(
JavaScript
1
2
3
4
5
6
7
8
9
10
const props = {
  onChange: jest.fn(),
}
it('should work onChange', () => {
  const component = shallow(<Select />)
  component.simulate('change', { target: { value: 'EN' } })
  component.update()
 
  expect(component.props().value).toBe('RU')
})
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.12.2021, 17:08
Ответы с готовыми решениями:

Тестирование (или Юнит тестирование)
Доброго времени суток, возник такой вопрос, раньше встречался на фронтенде с js тестированием, сейчас задался вопросом по поводу...

Тести́рование програ́ммного обеспе́чения(Модульное тестирование, или юнит-тестирование)
Извиняюсь перед администрацией что разместил тему в несоответствующем разделе, не мог найти про тестирование ПО. На днях встал вопрос о...

Юнит-тестирование
Расскажите про юнит тест на с++ , как его писать?Синтаксис? (У меня такое задание: написать юнит тест к программе которая находит...

1
 Аватар для Ovederax
604 / 404 / 212
Регистрация: 30.04.2017
Сообщений: 744
Записей в блоге: 1
13.12.2021, 21:35
возможно так, насчет shallow не знаю, мб render / mount, нужно смотреть docs
вообще скорее нужно кликать по элементу селекта, заранее открывать его
+ смотреть как найти по тексту вместо component.find(...)
https://stackoverflow.com/ques... -in-enzyme

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
it('SHOULD invoke "onChange" WHEN user make something', () => {
  const onChange = jest.fn()
  const component = mount(<Select
        id="language_select"
        value={{currectLanguage: "RU"}}
        onChange={onChange}
      >
        <MenuItem value={ENGLISH}>EN</MenuItem>
        <MenuItem value={RUSSIAN}>RU</MenuItem>
      </Select>)
  component.simulate('click', component.find('EN'))
  component.update()
 
  expect(onChange).toHaveBeenCalledTimes(1)
  expect(onChange).toHaveBeenCalledWith({ value: 'EN' })
})
плюс это тестирование самого компонента material,
чтобы протестировать логику handleLanguageChange, нужно тестировать компонент над ним который включает этот Select
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.12.2021, 21:35
Помогаю со студенческими работами здесь

Юнит-тестирование
Нужна помощь Задание Разработайте юнит-тесты для своей поисковой системы. Примените в них макрос assert, чтобы проверить работу...

Юнит-тестирование
Всем доброго времени суток! В последнее время меня начал сильно интересовать вопрос о юнит-тестировании: что это такое и с чем его едят. ...

Юнит тестирование
Добрый день. Осваиваю азы написания юнит тестов. С обычными калькуляторами, простыми классами, возвращающими значения разобрался. Но...

Юнит тестирование С++ (Google Mock)
Добрый день. Я только начинаю знакомиться с Юнит тестированием и фреймворком Google. может ли мне кто-нибудь подсказать, почему данный тест...

Юнит тестирование Asp.net Identity
Привет. Подскажите пожалуйста, как протестировать этот метод public async Task&lt;ActionResult&gt;...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru