{"id":16349539,"url":"https://github.com/arojunior/testing-react-app","last_synced_at":"2026-05-10T06:38:25.080Z","repository":{"id":82619293,"uuid":"101002982","full_name":"arojunior/testing-react-app","owner":"arojunior","description":"React tests with Jest and Enzyme (studying purposes)","archived":false,"fork":false,"pushed_at":"2017-08-22T00:28:44.000Z","size":814,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-12-28T12:42:56.633Z","etag":null,"topics":["enzyme","jest","react"],"latest_commit_sha":null,"homepage":null,"language":"CSS","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/arojunior.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-08-22T00:17:56.000Z","updated_at":"2017-08-22T00:29:02.000Z","dependencies_parsed_at":null,"dependency_job_id":"7d53c92a-7e4e-46af-a8d7-93e405d7059f","html_url":"https://github.com/arojunior/testing-react-app","commit_stats":{"total_commits":14,"total_committers":1,"mean_commits":14.0,"dds":0.0,"last_synced_commit":"09f54d3b01b3410ee0250018c1ca918b63dfd8ea"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arojunior%2Ftesting-react-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arojunior%2Ftesting-react-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arojunior%2Ftesting-react-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arojunior%2Ftesting-react-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/arojunior","download_url":"https://codeload.github.com/arojunior/testing-react-app/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239590291,"owners_count":19664454,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["enzyme","jest","react"],"created_at":"2024-10-11T01:00:16.442Z","updated_at":"2025-11-11T14:30:14.387Z","avatar_url":"https://github.com/arojunior.png","language":"CSS","funding_links":[],"categories":[],"sub_categories":[],"readme":"# A Practical Guide to Testing React Apps\r\n\r\nArticle: [http://acco.io/a-practical-guide-to-testing-react-apps/](http://acco.io/a-practical-guide-to-testing-react-apps/)\r\n\r\n- The popular tools (Jest and Enzyme) that we use to test React apps\r\n- \"Shallow rendering\" a component\r\n- What good React specs look\r\n- What tests not to write\r\n- Jest snapshots\r\n- Jest serializers\r\n- ...and more!\r\n\r\n### Contents\r\n\r\n- 0.1 First, a little terminology…\r\n- 1 The React testing ecosystem\r\n- - 1.1 A test runner\r\n- - 1.2 An assertion library\r\n- - 1.3 Testing utilities\r\n- 2 Setup\r\n- - 2.1 Creating our app\r\n- - 2.2 The components\r\n- 3 Writing tests\r\n- - 3.1 [Smoke tests](https://github.com/arojunior/testing-react-app/blob/example-2/src/__tests__/LovableFilterableTable.test.js)\r\n- - 3.2 [Given props, assert on output](https://github.com/arojunior/testing-react-app/blob/example-3/src/__tests__/LovableFilterableTable.test.js)\r\n- - 3.3 Setting up context\r\n- - 3.4 [With populated items](https://github.com/arojunior/testing-react-app/blob/example-5/src/__tests__/LovableFilterableTable.test.js)\r\n- - 3.5 \"The Art of Specs\" with Sun True\r\n- - 3.5.1 A quick note on TDD\r\n- - 3.6 But what about interactivity?\r\n- 4 Simulating user interactions\r\n- - 4.1 [Filtering cryptocurrencies](https://github.com/arojunior/testing-react-app/blob/example-6/src/__tests__/LovableFilterableTable.test.js)\r\n- - - 4.1.1 Our first \"user interaction\"\r\n- - 4.2 The easier way: Jest Snapshots\r\n- - - 4.2.1 Snapshot strategy\r\n- - - 4.2.2 [Snapshot serializers (when you turned #pro)](https://github.com/arojunior/testing-react-app/blob/example-8/src/__tests__/LovableFilterableTable.test.js)\r\n- - 4.3 [More interactivity: Clearing the search field](https://github.com/arojunior/testing-react-app/blob/example-9/src/__tests__/LovableFilterableTable.test.js)\r\n- - 4.4 Simulating vs setState()\r\n- 5 [Putting it all together (so far)](https://github.com/arojunior/testing-react-app/blob/master/src/__tests__/LovableFilterableTable.test.js)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farojunior%2Ftesting-react-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farojunior%2Ftesting-react-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farojunior%2Ftesting-react-app/lists"}