Comments (3)
You also need to simulate the change event:
describe('Input > Text', () => {
it('should render changes', () => {
const mockOnChange = jest.fn()
const { getByTestId } = render(
<input type="text" value="hello" onChange={mockOnChange} data-testid="my-input" />
)
const input = getByTestId('my-input')
expect(input).toMatchSnapshot()
input.value = 'yo!'
+ Simulate.change(input)
expect(input).toMatchSnapshot()
expect(mockOnChange).toBeCalled()
})
})
from react-testing-library.
@alexkrolick Thanks for your answer. Simulating the change event will get the onChange handler to fire but the snapshot still doesn't reflect the change in the input's value attr. In enzyme you have to call component.update() to flush the changes. Is there something I'm missing here?
from react-testing-library.
The problem is that your example is a controlled component: https://reactjs.org/docs/forms.html
It's impossible to update the value of that input as you have it written and it's because you specify the value as a hard coded string. If you just want to initialize the value, then you can use the defaultValue
prop instead.
Good luck!
from react-testing-library.
Related Issues (20)
- TypeScript error with skipLibCheck false HOT 4
- Regression: Types of property `hydrate` are incompatible in `renderHook` options
- Support React 18.3 HOT 2
- act shows up as deprecated when using react 18.3 HOT 1
- Seriously guys, how the fuck do I get started here? HOT 2
- Make @types/react-dom a Peer dependency HOT 2
- TypeScript: unexpected type errors when `exactOptionalPropertyTypes` is enabled
- `ReactDOMTestUtils.act` is deprecated HOT 1
- React does not recognize the `fetchPriority` prop on a DOM element. HOT 3
- Strange behavor when using `renderHook` with `wrapper` option HOT 1
- Hook testing: useReducer doesn't updating state when the reducer action is executed HOT 2
- Bug report
- Issues
- When `container` is `document`, cleanup steps fails with "TypeError: Cannot read properties of null (reading 'removeChild')" HOT 3
- `rerender` does not reset state HOT 6
- Unexpected token 'export' error when running Jest tests with React Native Testing Library HOT 1
- Error test Component with setTimeout and vitest
- Do not want to install react & react-dom dependency in node_modules HOT 1
- Warning: The current testing environment is not configured to support act(...) HOT 4
- RTL + Vitest issue with patching asyncWrapper/eventWrapper (with act()) for userEvent APIs
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from react-testing-library.