3 ms·
> redux-saga member here. Thanks for responding! > So in order to test sagas, all you need is to run the generator and make sure it yields the things you expe
by the_other 4y ago
> redux-saga member here.
Thanks for responding!
> So in order to test sagas, all you need is to run the generator and make sure it yields the things you expect it to yield.
This was the crux of what I found frustrating, actually. A simple saga with one or two steps was ok. Longer ones were painful. My test scripts ended up with these patterns:
- looking 80% like my application code
- needing to mock almost every step (every yield's output and input) - which bifurcates quickly if your sagas branch
- requiring digging into the emitted call/take/etc payloads (which seems the opposite of what you want when using a utility - I'd prefer to "let the utility just do its job" in the tests)
- brittle tests - when I changed a saga, I usually needed to change the test, rather than being able to leave the tests alone to prove my refactor works.
None of this put me off using redux-sagas. The benefits for the application code were worth it, IMO.
- qudat 4y agoHey thanks for the thoughtful response. I agree with everything you mentioned here. I'd love to continue to chat with you about how to make testing sagas better. If you'd like, it would be great if we could move this convo to https://github.com/redux-saga/redux-saga/discussions/2337 https://github.com/redux-saga/redux-saga/discussions/2337