Я пытаюсь проверить изменение состояния с помощью React Hooks (useState), имитируя измененное значение на слайдере пользовательского интерфейса Material, так как это вызывает мою функцию обновления состояния ловушек. Затем я пытаюсь подтвердить изменение, проверяя текст, отображаемый на странице. Я чувствую, что подошел ближе, синтаксические ошибки больше не кричат на меня, но похоже, что изменения не происходит.
Я пробовал несколько разных селекторов и обнаружил, что большинство людей онлайн импортируют ихЭлемент пользовательского интерфейса материала и использование импортированного элемента в качестве селектора. Я пробовал это как с .as (0), так и без него, со значением 500 в виде строки и числа и других вариантов.
Метод onChange моего ползунка напрямую вызывает мой метод обновления состояния ловушек сe.target.value, чтобы установить в качестве нового значения состояния (и это все прекрасно работает в реальном приложении).
Какие-нибудь идеи, которые я могу попробовать? Или, может быть, есть другой лучший способ проверить изменение состояния с помощью перехватчиков React?
import ReactDOM from 'react-dom';
import App from './App';
import { createMount } from '@material-ui/core/test-utils';
import Slider from "@material-ui/core/Slider";
describe('App', () => {
let mount;
beforeEach(() => {
mount = createMount();
});
afterEach(() => {
mount.cleanUp();
});
it('updates the volts displayed when the slider value changes', () => {
const wrapper = mount(<App />);
wrapper.find(Slider).at(0).simulate('change', { target: { value: 500 } });
expect(wrapper.find('.volts-screen').text()).toEqual('0.500');
})
}```
ERROR
expect(received).toEqual(expected) // deep equality
Expected: "0.500"
Received: "0.000"