Comments (3)
Glad you got it working accessing the onValuesChange
prop!
Re your second question, there are two types of components you need to wrap in order to test it's props:
- A function component (as explained in the docs)
- Some of React Native's basic components like
<Text>
and<TextInput>
. This is unfortunately due to React Native restructuring some of it's core components (this blog post explains it well). In short, when you add a ref to these components, React Native are now forwarding it so that a Native component is returned and not the React Native component itself. This means that the JS props are not for Cavy to call from within tests.
The current solution is to wrap these components so that Cavy can obtain a reference to these props. It's not ideal, but we're working on a solution at the moment that means you don't have to do this :)
from cavy.
Realized I had a typo for my failed test onValuesChange and not onChange.
Also realized that I don't need to wrap the slider to access onValuesChange.
But, now I am wondering why it is necessary to wrap react-native components. I see this note in the documentation (which is neither a React Class nor a Function Component)
but am trying to better understand how they are not a React Class.
For example <View>
in the definition extends ViewBase
which is a typeof ViewComponent that extends React.Component<ViewProps>
from cavy.
Closing for now as I don't think there was an issue, but feel free to ask questions on here / continue the discussion.
from cavy.
Related Issues (20)
- Call methods from wrapped Cavy components (multiple refs ?) HOT 3
- spec.press resulting in error for non Button components HOT 7
- Can't see test outputs in expo project HOT 3
- Problems with running it on Wndows HOT 3
- Passing an object ref as second argument to generateTestHook doesn't work HOT 4
- React Legacy API string refs unsupported
- Problem using redux form HOT 4
- Add the possibility to start a test from a deepLink HOT 4
- Testing on real device logs not showing HOT 2
- React Navigation doesn't unmount previous screens, causes `spec.findComponent` to return true. HOT 2
- Redux Action Dispatch from a Spec HOT 1
- Future of Cavy and Community HOT 1
- Can't close modals of react-native-modal-datetime-picker package HOT 1
- Update Peer Deps to support React 17+ HOT 1
- No response from Cavy HOT 2
- Wrapping TextInput and using another ref causing error
- Pressable elements are turns to double tap
- Cavy test just launches the app HOT 1
- [Cavy + Expo] iOS system prompt is blocking tests execution for cavy run-ios --skipbuild
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 cavy.