{"id":13990590,"url":"https://github.com/orta/pragmatic-testing","last_synced_at":"2025-04-05T09:08:54.929Z","repository":{"id":20458174,"uuid":"23735413","full_name":"orta/pragmatic-testing","owner":"orta","description":"Pragmatic testing ebook","archived":false,"fork":false,"pushed_at":"2018-12-27T13:48:48.000Z","size":1863,"stargazers_count":540,"open_issues_count":1,"forks_count":38,"subscribers_count":50,"default_branch":"master","last_synced_at":"2025-03-29T08:08:44.955Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Ruby","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/orta.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-09-06T13:42:41.000Z","updated_at":"2024-10-22T13:14:38.000Z","dependencies_parsed_at":"2022-07-26T06:47:09.300Z","dependency_job_id":null,"html_url":"https://github.com/orta/pragmatic-testing","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orta%2Fpragmatic-testing","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orta%2Fpragmatic-testing/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orta%2Fpragmatic-testing/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orta%2Fpragmatic-testing/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/orta","download_url":"https://codeload.github.com/orta/pragmatic-testing/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247312081,"owners_count":20918344,"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":[],"created_at":"2024-08-09T13:02:58.035Z","updated_at":"2025-04-05T09:08:54.148Z","avatar_url":"https://github.com/orta.png","language":"Ruby","funding_links":[],"categories":["Ruby"],"sub_categories":[],"readme":"A Pragmatic Approach to iOS Testing\n===============\n\nAn ebook about pragmatic testing strategies. Click below to get the latest ePub.\n\n[ ![Image](assets/Cover.png \"Pragmatic iOS Testing\") ](https://github.com/orta/pragmatic-testing/blob/master/pragmatic_testing.epub?raw=true \"Download ePub\")\n\nOr check [it on GitBook](https://www.gitbook.com/book/orta/pragmatic-ios-testing/details).\n\nWanna contribute? [read this](CONTRIBUTING.md).\n\n##### Existing Pages\n\n| Topic | Last Updated | State | Length | \n| -------|------|---|-----|\n|[What Is/What And Why Of The Book](chapters/en-UK/what_is/what_and_why_of_the_book.md)|2016-03-31|💌|Words: 517|\n|[What Is/How Can I Be Pragmatic With My Testing](chapters/en-UK/what_is/how_can_i_be_pragmatic_with_my_testing.md)|2017-07-26|💌|Words: 368|\n|[XCTest/What Is XCTest How Does It Work](chapters/en-UK/xctest/what_is_xctest_how_does_it_work.md)|2018-02-18|💌|Words: 571|\n|[XCTest/Types Of Testing](chapters/en-UK/xctest/types_of_testing.md)|2016-09-09|💌|Words: 511|\n|[XCTest/Unit Testing](chapters/en-UK/xctest/unit_testing.md)|2016-03-31|💌|Words: 336|\n|[XCTest/Three Types Of Unit Tests](chapters/en-UK/xctest/three_types_of_unit_tests.md)|2016-09-09|💌|Words: 350|\n|[XCTest/Behavior Testing](chapters/en-UK/xctest/behavior_testing.md)|2016-03-31|💌|Words: 1227|\n|[XCTest/Test Driven Development](chapters/en-UK/xctest/test_driven_development.md)|2016-09-09|💌|Words: 444|\n|[XCTest/Integration Testing](chapters/en-UK/xctest/integration_testing.md)|2016-09-09|💌|Words: 535|\n|[Foundations/Dependency Injection](chapters/en-UK/foundations/dependency_injection.md)|2016-08-30|💌|Words: 806|\n|[Foundations/Stubs Mocks And Fakes](chapters/en-UK/foundations/stubs_mocks_and_fakes.md)|2016-09-09|💌|Words: 474|\n|[OSS Libs/Expanding On Bdd Frameworks](chapters/en-UK/oss_libs/expanding_on_bdd_frameworks.md)|2016-03-31|✍🏾|Words: 3|\n|[OSS Libs/Mocking And Stubbing  Ocmock And Ocmockito ](chapters/en-UK/oss_libs/mocking_and_stubbing__ocmock_and_ocmockito_.md)|2016-03-31|✍🏾|Words: 0|\n|[OSS Libs/Network Stubbing  Ohttp And Vcrurlconnection](chapters/en-UK/oss_libs/network_stubbing__ohttp_and_vcrurlconnection.md)|2016-03-31|✍🏾|Words: 0|\n|[Setup/How I Got Started](chapters/en-UK/setup/how_i_got_started.md)|2016-03-31|💌|Words: 333|\n|[Setup/Getting Setup](chapters/en-UK/setup/getting_setup.md)|2016-03-31|💌|Words: 315|\n|[Setup/Introducing Tests Into An Existing Application](chapters/en-UK/setup/introducing_tests_into_an_existing_application.md)|2016-03-31|💌|Words: 337|\n|[Setup/Starting A New Application And Using Tests](chapters/en-UK/setup/starting_a_new_application_and_using_tests.md)|2016-03-31|💌|Words: 498|\n|[Ops/Developer Operations Aka Automation](chapters/en-UK/ops/developer_operations_aka_automation.md)|2016-03-31|💌|Words: 1269|\n|[Ops/Techniques For Keeping Testing Code Sane](chapters/en-UK/ops/techniques_for_keeping_testing_code_sane.md)|2016-03-31|✍🏾|Words: 0|\n|[Ops/Creation Of App-Centric It Blocks](chapters/en-UK/ops/creation_of_app-centric_it_blocks.md)|2016-03-31|✍🏾|Words: 0|\n|[Ops/Fixtures And Factories](chapters/en-UK/ops/fixtures_and_factories.md)|2016-03-31|✍🏾|Words: 0|\n|[Async/Dispatch Asyncs  Ar Dispatch Etc](chapters/en-UK/async/dispatch_asyncs__ar_dispatch_etc.md)|2016-03-31|💌|Words: 667|\n|[Async/Techniques For Getting Around Async Testing](chapters/en-UK/async/techniques_for_getting_around_async_testing.md)|2016-03-31|💌|Words: 1211|\n|[Async/Techniques For Getting Around Async Networking](chapters/en-UK/async/techniques_for_getting_around_async_networking.md)|2016-03-31|✍🏾|Words: 0|\n|[Async/Networking In View Controllers  Network Models](chapters/en-UK/async/networking_in_view_controllers__network_models.md)|2016-07-07|💌|Words: 425|\n|[Async/Animations](chapters/en-UK/async/animations.md)|2016-03-31|📎|Words: 148|\n|[Async/Will And XCTest 6](chapters/en-UK/async/will_and_xctest_6.md)|2016-03-31|✍🏾|Words: 0|\n|[App Testing/Techniques For Testing Different Aspects Of The App](chapters/en-UK/app_testing/techniques_for_testing_different_aspects_of_the_app.md)|2016-03-31|✍🏾|Words: 0|\n|[App Testing/Views  Snapshots](chapters/en-UK/app_testing/views__snapshots.md)|2016-06-23|💌|Words: 536|\n|[App Testing/Scroll Views](chapters/en-UK/app_testing/scroll_views.md)|2016-03-31|✍🏾|Words: 0|\n|[App Testing/User Interactions](chapters/en-UK/app_testing/user_interactions.md)|2016-03-31|✍🏾|Words: 7|\n|[App Testing/Ipad And Iphone](chapters/en-UK/app_testing/ipad_and_iphone.md)|2016-03-31|💌|Words: 414|\n|[App Testing/Testing Delegates](chapters/en-UK/app_testing/testing_delegates.md)|2016-09-09|💌|Words: 490|\n|[Core Data/Core Data](chapters/en-UK/core_data/core_data.md)|2016-03-31|💌|Words: 778|\n|[Core Data/Core Data Migrations](chapters/en-UK/core_data/core_data_migrations.md)|2016-03-31|💌|Words: 490|\n|[Prag Prog/Making Libraries To Get Annoying Tests Out Of Your App](chapters/en-UK/prag_prog/making_libraries_to_get_annoying_tests_out_of_your_app.md)|2016-03-31|✍🏾|Words: 0|\n|[Prag Prog/Using Xcode Pragmatically](chapters/en-UK/prag_prog/using_xcode_pragmatically.md)|2016-03-31|✍🏾|Words: 0|\n|[Prag Prog/Improving Xcode](chapters/en-UK/prag_prog/improving_xcode.md)|2016-03-31|✍🏾|Words: 0|\n|[Wrap Up/Books](chapters/en-UK/wrap_up/books.md)|2016-03-31|📎|Words: 168|\n|[Wrap Up/Twitter Follows](chapters/en-UK/wrap_up/twitter_follows.md)|2016-03-31|✍🏾|Words: 0|\n|[Wrap Up/Recommended Websites](chapters/en-UK/wrap_up/recommended_websites.md)|2018-03-12|✍🏾|Words: 50|\n\n\nOver 200 words: 57.1%\nOver 300 words: 57.1%\nTODOs: 13\nWords: 14278\n\n\n##### Generating the ebook\n\nThe latest ePub copy can be generated by running `ruby generate.rb`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Forta%2Fpragmatic-testing","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Forta%2Fpragmatic-testing","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Forta%2Fpragmatic-testing/lists"}