Comments (8)
Hi!
Could you please share your jest test? Thanks!
from redux-saga.
//App-test.js
import watchCounterIncrease from '../MyAssets/Redux/saga/saga';
jest.mock('redux-saga/effects');
describe('App Screen', () => {
const result=watchCounterIncrease();
console.log(result.next().value);
console.log(result.next());
})
///Here console returning result as
console.log
undefined
at log (__tests__/App-test.js:29:11)
console.log
{ value: undefined, done: true }
at log (__tests__/App-test.js:30:11)
from redux-saga.
Any suggestion?
from redux-saga.
Please always try to share a repro case in a runnable form - either by providing a git repository to clone or a codesandbox. OSS maintainers usually can't afford the time to set up the repro, even if exact steps are given.
from redux-saga.
https://codesandbox.io/s/redux-saga-counter-example-forked-32wp08?file=/index-test.js
from redux-saga.
@komalharmale You don't want to test watchCounterIncrease
because that just runs takeLatest
. Saga functions -- without the redux-saga middleware -- don't activate any side-effects, they just describe the side-effects to activate.
Here's an article I wrote describing it in more detail: https://bower.sh/simplify-testing-async-io-javascript
If you want to test, when a user clicks a button and it increments the counter the user should see the number 2
, then you need to write an integration test that fully sets up your redux store (with redux-saga) as well as your react/react-native app, then simulate clicks in your app, and finally test what number displays on the screen.
If you just want to test the saga increaseAsync
then you should run it as a standalone generator like you were doing inside your code sandbox.
For example:
import { delay, put } from "redux-saga/effects";
import { incrementAsync } from "./sagas/index";
describe("incrementAsync", () => {
test("should call the sampleOne function", () => {
const iter = incrementAsync();
expect(iter.next().value).toEqual(delay(1000));
expect(iter.next().value).toEqual(put({ type: "INCREMENT" }));
});
});
I hope that was helpful but feel free to continue chatting. We also have a discord for more realtime help: https://discord.gg/AKz29HvK2h
from redux-saga.
@neurosnap Thank you for your support, but my concern is if we try to console this value then it is returning as undefined.
iter.next().value
as well as delay(1000)
is returning as undefined that is the reason the test cases are passing because the both value having undefined as result but in actual it's not giving as expected output.
This Redux-saga/effects
not works while doing testing using Jest
in React-Native
.
If we Run normally like npx react-native run-android
then it's work properly but when we run 'npm jest
the above result in console print as undefined
from redux-saga.
closing as issue is not related to the this library
from redux-saga.
Related Issues (20)
- Waiting for an action with takeMaybe / take after END is dispatched for SSR HOT 7
- Is it possible to selectively cancel tasks in an actionChannel? Ie cancel the 3rd task out of 5 running ones. HOT 5
- Is it possible for a saga to "trace" the effect "chain"? HOT 4
- Delay inside of while loop may never fire with React Native 0.71.6 HOT 2
- UI freezes when chrome devtools is open HOT 4
- Redux 4.0 - Unable to access updated data using useSelector HOT 2
- could we add leading/trailing edge options for debounce? HOT 3
- Workflow has flaw
- Why not use the await and async instead of the generator and yield? HOT 1
- TS2345 error while putting thunk actions
- React native Redux Saga with Redux Tollkit
- Module '"redux-saga/effects"' has no exported member 'call'. HOT 4
- Is there a standard way to break while true loops with call effect when END is dispatched? HOT 1
- Can put type improvements be released downstream? HOT 2
- Sending very large files, tasks in parallel are using a lot of memory
- How to use package that use redux-saga as dependency when its in webpack externals? HOT 7
- Help me connect redux-saga with Nextjs 13.5 using app router HOT 2
- Update peer dependencies to include `redux@5` (currently beta) HOT 14
- feature request: interface for integration with other frameworks (like Vue) HOT 2
- Redux saga is not working in apps script react js project HOT 2
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 redux-saga.