Section 1 : Introduction
|
Lecture 1 | Source Code | |
|
Lecture 2 | Introduction | 00:01:50 Duration |
Section 2 : Basics of Unit Testing in Xcode
|
Lecture 1 | Introduction | 00:06:55 Duration |
|
Lecture 2 | Testing Pyramid | 00:03:29 Duration |
|
Lecture 3 | The F | 00:03:47 Duration |
|
Lecture 4 | Test-Driven Development Lifecycle | 00:02:36 Duration |
|
Lecture 5 | Enable Unit Tests in Xcode Project | 00:03:23 Duration |
|
Lecture 6 | The Default Unit Test Case Class Explained | 00:07:08 Duration |
|
Lecture 7 | The addTeardownBlock() | 00:02:26 Duration |
|
Lecture 8 | Creating a New Test Case Class | 00:03:43 Duration |
|
Lecture 9 | Ways to Run Unit Test in Xcode | 00:04:07 Duration |
|
Lecture 10 | The Default Order of Unit Tests | |
|
Lecture 11 | Unit Test Naming Requirements | 00:03:09 Duration |
|
Lecture 12 | Ways to Disable or Skip Unit Test | 00:04:37 Duration |
|
Lecture 13 | Viewing Test Results | 00:03:51 Duration |
|
Lecture 14 | Code Coverage | 00:05:54 Duration |
|
Lecture 15 | 100% Code Coverage | 00:01:21 Duration |
|
Lecture 16 | Test Method Code Structure | 00:02:10 Duration |
|
Lecture 17 | Assertions | |
|
Lecture 18 | Enabling the Failure Debugger Breakpoint | 00:04:29 Duration |
|
Lecture 19 | Parallel Distributed Testing on Multiple Simulator Clones | 00:03:57 Duration |
Section 3 : TDD
|
Lecture 1 | Introduction | 00:01:57 Duration |
|
Lecture 2 | Test That User First Name is Valid | 00:11:24 Duration |
|
Lecture 3 | Test for a very short First Name | 00:05:33 Duration |
|
Lecture 4 | Test for a very long First Name | 00:05:06 Duration |
|
Lecture 5 | Challenge Apply TDD to Implement Validation of Last Name and Email Address | 00:04:00 Duration |
|
Lecture 6 | Test if user passwords match | 00:03:38 Duration |
|
Lecture 7 | Test if user passwords do not match | 00:02:56 Duration |
Section 4 : Test Code in Isolation
|
Lecture 1 | Introduction | |
|
Lecture 2 | Dependency Injection | 00:02:48 Duration |
|
Lecture 3 | Use of Protocols | 00:03:41 Duration |
|
Lecture 4 | Test Toubles - Fake, Mock, Stub, Dummy | 00:03:51 Duration |
Section 5 : TDD
Section 6 : TDD
Section 7 : Unit Testing View Controller
|
Lecture 1 | Introduction | 00:03:34 Duration |
|
Lecture 2 | Create a New Test Class and a Test Method | 00:05:29 Duration |
|
Lecture 3 | Test UITextFields are initially empty | 00:05:24 Duration |
|
Lecture 4 | Test UITextField has a referencing outlet | 00:06:38 Duration |
|
Lecture 5 | Test UIButton has @IBAction assigned to it | 00:09:16 Duration |
|
Lecture 6 | Test UIButton Action invokes code in Presenter | 00:03:47 Duration |
|
Lecture 7 | Create MockSignupPresenter class | 00:05:11 Duration |
|
Lecture 8 | Inject MockSignupPresenter into View Controller | 00:08:19 Duration |
Section 8 : Testing Old or Legacy Code
|
Lecture 1 | Introduction | 00:01:29 Duration |
|
Lecture 2 | Refactor Massive View Controllers | 00:02:40 Duration |
|
Lecture 3 | Use Protocols and Dependency Injection | 00:05:45 Duration |
|
Lecture 4 | Adding code to existing methods | 00:03:27 Duration |
|
Lecture 5 | Break large functions into smaller ones | |
|
Lecture 6 | Wrapping existing classes | 00:04:49 Duration |
Section 9 : Examples Ways to Load UIViewController in a Unit Test
|
Lecture 1 | Loading UIViewController that uses a Storyboard | 00:03:46 Duration |
|
Lecture 2 | Loading UIViewController that uses XIB | 00:02:36 Duration |
|
Lecture 3 | UIViewController that creates Views programmatically | 00:03:12 Duration |
Section 10 : Examples Testing methods that throw Error
|
Lecture 1 | XCTAssertThrowsError example | 00:06:55 Duration |
|
Lecture 2 | XCTAssertNoThrow example | 00:02:33 Duration |
|
Lecture 3 | An example of Do Try and Catch instead of XCTAssertThrowsError | 00:04:00 Duration |
|
Lecture 4 | An example of Do Try and Catch instead of XCTAssertNoThrow | 00:01:47 Duration |
Section 11 : Examples Unit Test UITextField Attributes
|
Lecture 1 | Overview of UITextField Attributes Content Type, Keyboard Type, Placeholer | 00:06:41 Duration |
|
Lecture 2 | Test that UITextField has the Email Address UITextContentType set | 00:05:06 Duration |
|
Lecture 3 | Test that UITextField has Email Address keyboard type set | 00:02:54 Duration |
|
Lecture 4 | Test that Password UITextField is a Secure Text Entry | 00:02:36 Duration |
Section 12 : Examples Testing Navigation
|
Lecture 1 | Project overview | 00:02:21 Duration |
|
Lecture 2 | Push UIViewController into UINavigationController | 00:07:32 Duration |
|
Lecture 3 | Test Push Navigation | 00:03:17 Duration |
|
Lecture 4 | Test Push Navigation with Spy class | 00:05:43 Duration |
Section 13 : UI Testing
|
Lecture 1 | Introduction | 00:05:48 Duration |
|
Lecture 2 | Accessing UI Elements | 00:06:09 Duration |
|
Lecture 3 | Add UI Tests target to a project | 00:02:03 Duration |
|
Lecture 4 | Create a new UI Test case class | 00:02:21 Duration |
|
Lecture 5 | Recording UI Tests | 00:02:45 Duration |
|
Lecture 6 | Recording UI Tests | 00:04:44 Duration |
|
Lecture 7 | Testing with UITextField placeholders | 00:02:41 Duration |
|
Lecture 8 | Test Assertions to check if UITextFields are enabled | 00:05:10 Duration |
|
Lecture 9 | Adding accessibility identifiers to UITextFields | 00:04:04 Duration |
|
Lecture 10 | Finding UI elements | 00:02:26 Duration |
|
Lecture 11 | A Test method to assert that an error alert is presented | 00:04:58 Duration |
|
Lecture 12 | Making UIViewController display UIAlertController | 00:06:01 Duration |
|
Lecture 13 | Refactor | 00:02:42 Duration |
|
Lecture 14 | Test for Success Alert Dialog | 00:05:29 Duration |
|
Lecture 15 | Wait for View Controller to appear | 00:07:02 Duration |
|
Lecture 16 | XCUIElement Actions and Gestures | 00:03:05 Duration |
Section 14 : UI Testing
|
Lecture 1 | Introduction | 00:01:35 Duration |
|
Lecture 2 | Generating and Previewing Screenshots | 00:02:43 Duration |
|
Lecture 3 | Enabling and Disabling Automatic Screenshots | 00:01:37 Duration |
|
Lecture 4 | Taking Screenshot of Specific UI Element | 00:04:07 Duration |
|
Lecture 5 | Take a Screenshot of Current Device Screen | 00:02:47 Duration |
Section 15 : UI Testing
|
Lecture 1 | Introduction | 00:04:55 Duration |
|
Lecture 2 | Passing and Reading Launch Arguments | 00:03:59 Duration |
|
Lecture 3 | Passing and Reading Launch Environment Values | 00:04:29 Duration |
Section 16 : UI Testing
|
Lecture 1 | Introduction | 00:02:37 Duration |
|
Lecture 2 | Creating a new Test plan | 00:03:22 Duration |
|
Lecture 3 | Creating new test plan configuration | 00:04:21 Duration |
|
Lecture 4 | A separate Test Plan for UI Tests, Unit Tests and All Tests | 00:04:19 Duration |
|
Lecture 5 | Localization screenshots demo | 00:07:22 Duration |