Skip to content

Commit

Permalink
Fixing the things that broked
Browse files Browse the repository at this point in the history
  • Loading branch information
orta committed Mar 30, 2016
1 parent 8ecb1b1 commit 9942fa8
Show file tree
Hide file tree
Showing 4 changed files with 71 additions and 47 deletions.
90 changes: 45 additions & 45 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,51 +13,51 @@ Wanna contribute? [read this](CONTRIBUTING.md).

| Topics | Last Updated | Length |
| -------|----|-----|
|[Eng/What Is/What And Why Of The Book](chapters/eng/what_is/what_and_why_of_the_book.md)||Words: 518|
|[Eng/What Is/How Can I Be Pragmatic With My Testing](chapters/eng/what_is/how_can_i_be_pragmatic_with_my_testing.md)||Words: 370|
|[Eng/Xctest/Useful Terminology](chapters/eng/xctest/useful_terminology.md)||Words: 105|
|[Eng/Xctest/What Is Xctest How Does It Work](chapters/eng/xctest/what_is_xctest_how_does_it_work.md)||Words: 558|
|[Eng/Xctest/Types Of Testing](chapters/eng/xctest/types_of_testing.md)||Words: 216|
|[Eng/Xctest/Unit Testing](chapters/eng/xctest/unit_testing.md)||Words: 336|
|[Eng/Xctest/Behavior Testing](chapters/eng/xctest/behavior_testing.md)||Words: 1228|
|[Eng/Xctest/Three Types Of Unit Tests](chapters/eng/xctest/Three_Types_of_Unit_Tests.md)||Words: 314|
|[Eng/Xctest/Test Driven Development](chapters/eng/xctest/test_driven_development.md)||Words: 233|
|[Eng/Xctest/Integration Testing](chapters/eng/xctest/integration_testing.md)||Words: 536|
|[Eng/Xctest/Testing Terminology](chapters/eng/xctest/testing_terminology.md)||Words: 197|
|[Eng/Foundations/Dependency Injection](chapters/eng/foundations/dependency_injection.md)||Words: 806|
|[Eng/Foundations/Stubs And Mocks](chapters/eng/foundations/stubs_and_mocks.md)||Words: 200|
|[Eng/Foundations/Fakes Plus Protocols ](chapters/eng/foundations/fakes__plus_protocols_.md)||Words: 151|
|[Eng/Oss Libs/Expanding On Bdd Frameworks](chapters/eng/oss_libs/expanding_on_bdd_frameworks.md)||Words: 3|
|[Eng/Oss Libs/Mocking And Stubbing Ocmock And Ocmockito ](chapters/eng/oss_libs/mocking_and_stubbing__ocmock_and_ocmockito_.md)||Words: 0|
|[Eng/Oss Libs/Network Stubbing Ohttp And Vcrurlconnection](chapters/eng/oss_libs/network_stubbing__ohttp_and_vcrurlconnection.md)||Words: 0|
|[Eng/Setup/Getting Setup](chapters/eng/setup/getting_setup.md)||Words: 313|
|[Eng/Setup/How I Got Started](chapters/eng/setup/how_i_got_started.md)||Words: 196|
|[Eng/Setup/Starting A New Application And Using Tests](chapters/eng/setup/starting_a_new_application_and_using_tests.md)||Words: 0|
|[Eng/Setup/Introducing Tests Into An Existing Application](chapters/eng/setup/introducing_tests_into_an_existing_application.md)||Words: 337|
|[Eng/Ops/Developer Operations Aka Automation](chapters/eng/ops/developer_operations_aka_automation.md)||Words: 1275|
|[Eng/Ops/Techniques For Keeping Testing Code Sane](chapters/eng/ops/techniques_for_keeping_testing_code_sane.md)||Words: 0|
|[Eng/Ops/Creation Of App-Centric It Blocks](chapters/eng/ops/creation_of_app-centric_it_blocks.md)||Words: 0|
|[Eng/Ops/Fixtures And Factories](chapters/eng/ops/fixtures_and_factories.md)||Words: 0|
|[Eng/Async/Techniques For Getting Around Async Testing](chapters/eng/async/techniques_for_getting_around_async_testing.md)||Words: 0|
|[Eng/Async/Techniques For Getting Around Async Networking](chapters/eng/async/techniques_for_getting_around_async_networking.md)||Words: 0|
|[Eng/Async/Networking In View Controllers Network Models](chapters/eng/async/networking_in_view_controllers__network_models.md)||Words: 425|
|[Eng/Async/Animations](chapters/eng/async/animations.md)||Words: 148|
|[Eng/Async/Dispatch Asyncs Ar Dispatch Etc](chapters/eng/async/dispatch_asyncs__ar_dispatch_etc.md)||Words: 510|
|[Eng/Async/Will And Xctest 6](chapters/eng/async/will_and_xctest_6.md)||Words: 0|
|[Eng/App Testing/Techniques For Testing Different Aspects Of The App](chapters/eng/app_testing/techniques_for_testing_different_aspects_of_the_app.md)||Words: 0|
|[Eng/App Testing/Views Snapshots](chapters/eng/app_testing/views__snapshots.md)||Words: 0|
|[Eng/App Testing/Scroll Views](chapters/eng/app_testing/scroll_views.md)||Words: 0|
|[Eng/App Testing/User Interactions](chapters/eng/app_testing/user_interactions.md)||Words: 0|
|[Eng/App Testing/Ipad And Iphone](chapters/eng/app_testing/ipad_and_iphone.md)||Words: 0|
|[Eng/App Testing/Testing Delegates](chapters/eng/app_testing/testing_delegates.md)||Words: 455|
|[Eng/Core Data/Core Data](chapters/eng/core_data/core_data.md)||Words: 778|
|[Eng/Core Data/Core Data Migrations](chapters/eng/core_data/core_data_migrations.md)||Words: 490|
|[Eng/Prag Prog/Making Libraries To Get Annoying Tests Out Of Your App](chapters/eng/prag_prog/making_libraries_to_get_annoying_tests_out_of_your_app.md)||Words: 0|
|[Eng/Prag Prog/Using Xcode Pragmatically](chapters/eng/prag_prog/using_xcode_pragmatically.md)||Words: 0|
|[Eng/Prag Prog/Improving Xcode](chapters/eng/prag_prog/improving_xcode.md)||Words: 0|
|[Eng/Wrap Up/Books](chapters/eng/wrap_up/books.md)||Words: 0|
|[Eng/Wrap Up/Twitter Follows](chapters/eng/wrap_up/twitter_follows.md)||Words: 0|
|[Eng/Wrap Up/Recommended Websites](chapters/eng/wrap_up/recommended_websites.md)||Words: 51|
|[Eng/What Is/What And Why Of The Book](chapters/eng/what_is/what_and_why_of_the_book.md)|2016-03-30|Words: 518|
|[Eng/What Is/How Can I Be Pragmatic With My Testing](chapters/eng/what_is/how_can_i_be_pragmatic_with_my_testing.md)|2016-03-30|Words: 370|
|[Eng/Xctest/Useful Terminology](chapters/eng/xctest/useful_terminology.md)|2016-03-30|Words: 105|
|[Eng/Xctest/What Is Xctest How Does It Work](chapters/eng/xctest/what_is_xctest_how_does_it_work.md)|2016-03-30|Words: 558|
|[Eng/Xctest/Types Of Testing](chapters/eng/xctest/types_of_testing.md)|2016-03-30|Words: 216|
|[Eng/Xctest/Unit Testing](chapters/eng/xctest/unit_testing.md)|2016-03-30|Words: 336|
|[Eng/Xctest/Behavior Testing](chapters/eng/xctest/behavior_testing.md)|2016-03-30|Words: 1228|
|[Eng/Xctest/Three Types Of Unit Tests](chapters/eng/xctest/Three_Types_of_Unit_Tests.md)|2016-03-30|Words: 314|
|[Eng/Xctest/Test Driven Development](chapters/eng/xctest/test_driven_development.md)|2016-03-30|Words: 233|
|[Eng/Xctest/Integration Testing](chapters/eng/xctest/integration_testing.md)|2016-03-30|Words: 536|
|[Eng/Xctest/Testing Terminology](chapters/eng/xctest/testing_terminology.md)|2016-03-30|Words: 197|
|[Eng/Foundations/Dependency Injection](chapters/eng/foundations/dependency_injection.md)|2016-03-30|Words: 806|
|[Eng/Foundations/Stubs And Mocks](chapters/eng/foundations/stubs_and_mocks.md)|2016-03-30|Words: 200|
|[Eng/Foundations/Fakes Plus Protocols ](chapters/eng/foundations/fakes__plus_protocols_.md)|2016-03-30|Words: 151|
|[Eng/Oss Libs/Expanding On Bdd Frameworks](chapters/eng/oss_libs/expanding_on_bdd_frameworks.md)|2016-03-30|Words: 3|
|[Eng/Oss Libs/Mocking And Stubbing Ocmock And Ocmockito ](chapters/eng/oss_libs/mocking_and_stubbing__ocmock_and_ocmockito_.md)|2016-03-30|Words: 0|
|[Eng/Oss Libs/Network Stubbing Ohttp And Vcrurlconnection](chapters/eng/oss_libs/network_stubbing__ohttp_and_vcrurlconnection.md)|2016-03-30|Words: 0|
|[Eng/Setup/Getting Setup](chapters/eng/setup/getting_setup.md)|2016-03-30|Words: 313|
|[Eng/Setup/How I Got Started](chapters/eng/setup/how_i_got_started.md)|2016-03-30|Words: 196|
|[Eng/Setup/Starting A New Application And Using Tests](chapters/eng/setup/starting_a_new_application_and_using_tests.md)|2016-03-30|Words: 0|
|[Eng/Setup/Introducing Tests Into An Existing Application](chapters/eng/setup/introducing_tests_into_an_existing_application.md)|2016-03-30|Words: 337|
|[Eng/Ops/Developer Operations Aka Automation](chapters/eng/ops/developer_operations_aka_automation.md)|2016-03-30|Words: 1275|
|[Eng/Ops/Techniques For Keeping Testing Code Sane](chapters/eng/ops/techniques_for_keeping_testing_code_sane.md)|2016-03-30|Words: 0|
|[Eng/Ops/Creation Of App-Centric It Blocks](chapters/eng/ops/creation_of_app-centric_it_blocks.md)|2016-03-30|Words: 0|
|[Eng/Ops/Fixtures And Factories](chapters/eng/ops/fixtures_and_factories.md)|2016-03-30|Words: 0|
|[Eng/Async/Techniques For Getting Around Async Testing](chapters/eng/async/techniques_for_getting_around_async_testing.md)|2016-03-30|Words: 0|
|[Eng/Async/Techniques For Getting Around Async Networking](chapters/eng/async/techniques_for_getting_around_async_networking.md)|2016-03-30|Words: 0|
|[Eng/Async/Networking In View Controllers Network Models](chapters/eng/async/networking_in_view_controllers__network_models.md)|2016-03-30|Words: 425|
|[Eng/Async/Animations](chapters/eng/async/animations.md)|2016-03-30|Words: 148|
|[Eng/Async/Dispatch Asyncs Ar Dispatch Etc](chapters/eng/async/dispatch_asyncs__ar_dispatch_etc.md)|2016-03-30|Words: 510|
|[Eng/Async/Will And Xctest 6](chapters/eng/async/will_and_xctest_6.md)|2016-03-30|Words: 0|
|[Eng/App Testing/Techniques For Testing Different Aspects Of The App](chapters/eng/app_testing/techniques_for_testing_different_aspects_of_the_app.md)|2016-03-30|Words: 0|
|[Eng/App Testing/Views Snapshots](chapters/eng/app_testing/views__snapshots.md)|2016-03-30|Words: 0|
|[Eng/App Testing/Scroll Views](chapters/eng/app_testing/scroll_views.md)|2016-03-30|Words: 0|
|[Eng/App Testing/User Interactions](chapters/eng/app_testing/user_interactions.md)|2016-03-30|Words: 0|
|[Eng/App Testing/Ipad And Iphone](chapters/eng/app_testing/ipad_and_iphone.md)|2016-03-30|Words: 0|
|[Eng/App Testing/Testing Delegates](chapters/eng/app_testing/testing_delegates.md)|2016-03-30|Words: 455|
|[Eng/Core Data/Core Data](chapters/eng/core_data/core_data.md)|2016-03-30|Words: 778|
|[Eng/Core Data/Core Data Migrations](chapters/eng/core_data/core_data_migrations.md)|2016-03-30|Words: 490|
|[Eng/Prag Prog/Making Libraries To Get Annoying Tests Out Of Your App](chapters/eng/prag_prog/making_libraries_to_get_annoying_tests_out_of_your_app.md)|2016-03-30|Words: 0|
|[Eng/Prag Prog/Using Xcode Pragmatically](chapters/eng/prag_prog/using_xcode_pragmatically.md)|2016-03-30|Words: 0|
|[Eng/Prag Prog/Improving Xcode](chapters/eng/prag_prog/improving_xcode.md)|2016-03-30|Words: 0|
|[Eng/Wrap Up/Books](chapters/eng/wrap_up/books.md)|2016-03-30|Words: 0|
|[Eng/Wrap Up/Twitter Follows](chapters/eng/wrap_up/twitter_follows.md)|2016-03-30|Words: 0|
|[Eng/Wrap Up/Recommended Websites](chapters/eng/wrap_up/recommended_websites.md)|2016-03-30|Words: 51|

##### Generating the ebook

Expand Down
2 changes: 1 addition & 1 deletion generators/generate_gitbook.rb
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ def create
File.open("SUMMARY.md", 'w') { |f| f.write body }
File.open("gitbook_summary.md", 'w') { |f|
file = File.read("chapters/eng/what_is/what_and_why_of_the_book.md")
f.write f
f.write file
}

end
Expand Down
26 changes: 25 additions & 1 deletion gitbook_summary.md
Original file line number Diff line number Diff line change
@@ -1 +1,25 @@
#<File:0x007ff5938f7150>
## What is this book?

This is a book that aims to be a down to earth guide to testing iOS applications. It came out of a long period of writing tests to multiple non-trivial Apps whilst working at [Artsy](http://artsy.net). All of which are open source, and available for inspection on the [Artsy Open Source page](http://artsy.github.io/open-source/#ios).

I found very few consolidated resources for testing in iOS general. A lot of the best book advice revolved around reading books about Java and C# and applying the techniques to Objective-C projects. Like any creative output this book does not live in a vacuum, the books I used to get to this point are in the recommendations section.

Finally this is not a generic iOS Testing book. I will not be objective. This is a pragmatic book from a pragmatic programmer known for making things, not architecting beautiful concepts. There will be things you disagree with, and I'm of the _strong opinions, weakly held_ camp, so you're welcome to send me feedback as issues on [orta/pragmatic-testing](https://github.com/orta/pragmatic-testing)

I treat this book very similar to how I would a collection of smaller blog posts, so I aim to have it well hyperlinked. There are a lot of great resources out there, and this can send you out into other resources. I'd rather not re-write someone when I can quote.

## About the author, and contributors

I'm the head of mobile at Artsy, and I gave myself the title Design Dictator at the open source project [CocoaPods](https://cocoapods.org). My interest in testing piqued when the entire Artsy mobile team became just me, and I realized that I'm going to get the blame for everything from this point forward. Better up my game.

There are a lot of times that I say we, meaning the [Artsy Mobile team](https://github.com/artsy/mobile/). I don't think I would be writing this book without these people contributing testing ideas to our codebase. Thanks, Daniel Doubrovkine, Laura Brown, Ash Furrow, Eloy Durán, Sarah Scott, Maxim Cramer & Dustin Barker. I owe you all.

Finally, I want to thank Danger. She gives me time and space to achieve great things. I wouldn't be the person I am without her.

## Who is it for?

Anyone interested in applying tests to iOS applications. Which hopefully should be a large amount of people. I'm trying to aim this book at myself back in 2012, new to the ideas of testing and seeing a whole world of possibilities, but not knowing exactly where to start or how to continue once I've made one or two tests.

## Swift or Objective-C?

It's easy to get caught up in what's new and shiny, but in reality there's a lot of existing Objective-C code-bases out there. I will aim to try and cover both Swift and Objective-C. As we have test suites in both languages, some concepts work better in one language vs the other. If you can only read one language, I'm not apologising for that. It's not pragmatic to only focus on one language, a language is a language, in time you should know as many as possible.
Binary file modified pragmatic_testing.epub
Binary file not shown.

0 comments on commit 9942fa8

Please sign in to comment.