All Projects → jchiatt → React Chaos

jchiatt / React Chaos

Licence: mit
Chaos Engineering for your React apps.

Programming Languages

typescript
32286 projects

Projects that are alternatives of or similar to React Chaos

chaostoolkit-prometheus
Prometheus Extension for the Chaos Toolkit
Stars: ✭ 13 (-97.75%)
Mutual labels:  chaos-engineering
Service decorators
Simplify your microservice development
Stars: ✭ 254 (-56.06%)
Mutual labels:  chaos-engineering
Awesome Chaos Engineering
A curated list of Chaos Engineering resources.
Stars: ✭ 4,740 (+720.07%)
Mutual labels:  chaos-engineering
XCTestHTMLReport
Xcode-like HTML report for Unit and UI Tests
Stars: ✭ 581 (+0.52%)
Mutual labels:  ui-testing
FlaUIRecorder
UIAutomation test recorder for using with FlaUI library.
Stars: ✭ 23 (-96.02%)
Mutual labels:  ui-testing
Docker Tc
🐳 🚦 Docker Traffic Control - network rate limiting, emulating delays, losses, duplicates, corrupts and reorders of network packets using only container labels or a command-line interface.
Stars: ✭ 317 (-45.16%)
Mutual labels:  chaos-engineering
monarch
App-level Chaos Engineering
Stars: ✭ 26 (-95.5%)
Mutual labels:  chaos-engineering
Niffy
Perceptual diffing suite built on Nightmare
Stars: ✭ 525 (-9.17%)
Mutual labels:  ui-testing
last-hit
puppeteer UI automation test tools, record once, run everywhere, bringing you a comprehensive and enjoyable automation experience
Stars: ✭ 29 (-94.98%)
Mutual labels:  ui-testing
Solopi
SoloPi 自动化测试工具
Stars: ✭ 4,461 (+671.8%)
Mutual labels:  ui-testing
SpecTools
Write less test code with this set of spec tools. Swift, iOS, testing framework independent (but works well with Quick/Nimble or directly).
Stars: ✭ 38 (-93.43%)
Mutual labels:  ui-testing
espresso-robot-pattern-sample
Espresso Robot Pattern Sample with Spoon Integration
Stars: ✭ 37 (-93.6%)
Mutual labels:  ui-testing
Chaos Mesh
A Chaos Engineering Platform for Kubernetes.
Stars: ✭ 4,265 (+637.89%)
Mutual labels:  chaos-engineering
catbird
Mock server for UI tests
Stars: ✭ 32 (-94.46%)
Mutual labels:  ui-testing
Howtheysre
A curated collection of publicly available resources on how technology and tech-savvy organizations around the world practice Site Reliability Engineering (SRE)
Stars: ✭ 6,962 (+1104.5%)
Mutual labels:  chaos-engineering
docker-simianarmy
Docker image of Netflix's Simian Army
Stars: ✭ 74 (-87.2%)
Mutual labels:  chaos-engineering
Simmy
Simmy is a chaos-engineering and fault-injection tool, integrating with the Polly resilience project for .NET
Stars: ✭ 313 (-45.85%)
Mutual labels:  chaos-engineering
Yourview
YourView is a desktop App in MacOS based on Apple SceneKit. You may use it to view iOS App's view hierarchy 3D.
Stars: ✭ 528 (-8.65%)
Mutual labels:  ui-testing
Xctesthtmlreport
Xcode-like HTML report for Unit and UI Tests
Stars: ✭ 489 (-15.4%)
Mutual labels:  ui-testing
Chaosblade
An easy to use and powerful chaos engineering experiment toolkit.(阿里巴巴开源的一款简单易用、功能强大的混沌实验注入工具)
Stars: ✭ 4,343 (+651.38%)
Mutual labels:  chaos-engineering

🔥🐒💥 React Chaos

Chaos Engineering for your React applications.

What It Does

React Chaos is currently a higher order component that will randomly throw Errors in the component it wraps. The likelihood for the error to throw is based on a level you set when you wrap a component.

Blog post: Announcing React Chaos Demo: https://react-chaos.netlify.com/

🛑 Pre-Installation Notes

  • This is currently WIP and a proof-of-concept.
  • There is nothing in place to help ensure good performance practices. Use at your own risk.

Installation

npm i --save-dev react-chaos

Usage

First, import the Chaos:

import withChaos from 'react-chaos';

Wrap any component with the Chaos:

const ComponentToWrap = () => <p>I may have chaos.</p>;

const ComponentWithChaos = withChaos(ComponentToWrap);

You can optionally set a Chaos level between 1 and 10 (the higher the number, the more Chaos 😈) as well as a custom error message:

const ComponentWithChaos = withChaos(ComponentToWrap);

const ComponentWithChaos = withChaos(
  ComponentToWrap,
  10,
  'This error message will almost certainly be shown since we are at Chaos level 10.'
);

Note: The default Chaos level is 5.

Chaos in Production

By default, React Chaos will not run in production. If you want to override this by passing in true as a 4th parameter like this:

const ComponentWithChaos2 = withChaos(
  ComponentWillHaveChaos2,
  3,
  'a custom error message, level 3',
  true
);

Why

  • Because simple UI errors shouldn't bring down your app.
  • This library can help expose areas of your component tree that don't handle errors very gracefully. Used in conjunction with Error Boundaries, this can be a powerful tool to improve the resiliency of your UI components.

What is Chaos Engineering?

Chaos Engineering is the practice of experimenting with entropy on a software system to test its resiliency. You can read more about it here.

Inspiration

Other Notes

This project uses TSDX.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].