Logomark
A shot of to go with your morning coffee.

Curious? Get 3 great screencasts FREE.

Thousands of developers use NSScreencast to stay on top of iOS development.

Video Training for iOS Developers

The iOS landscape is large and changes often. With short, bite-sized videos released on a steady schedule, NSScreencast helps keep you continually up to date.

  • Quality content This isn't Youtube. Each screencast is carefully produced in HD quality.
  • Team Plans Get access for your whole team. NSScreencast makes for great lunch & learns.
  • Any Device Stream on the web, or use one of our apps for  tv, iPhone, and iPad.
Stay up to date!

Founded in 2012, NSScreencast has been releasing a new screencast each week for more than 6 years. With short videos you can learn a lot over time without a huge time commitment.

NSScreencast offers the largest collection of iOS development screencasts on the internet. With the range of videos that NSScreencast offers, there is something for people of every skill level.

Bite-sized screencasts on iOS and Mac development.

There are 17 episodes with tag 'testing'   Clear search
lock
#342
In this episode we will intercept and stub image requests to prevent our tests from making network calls when interacting with our view controller.
lock
#341
When running your unit tests, you may have noticed that your application continues to launch in the simulator. In this episode we'll talk about why that can be problematic and what you can do to mitigate this issue from interfering with your tests.
lock
#340
We continue testing our view controller, this time focusing on the UITableViewDataSource implementation. Testing the number of rows returned is easy, but we can also test that the controller returns the appropriate cell and that its outlets are configured properly.
lock
#339
Testing view controllers can sometimes be challenging. In this episode we will write some tests that verify a view controller loads its data properly from the API client. We will add additional tests to verify that a loading indicator is shown.
lock
#338
XCTAssertion functions are a foundational part of your test suite but sometimes can be too low-level. You want to know exactly why a test failed, not that "2 was not less than 1." By extracting helper methods to do assertions for you, you can give groups of assertions meaning, and make it easier to reason about your tests and why they might be failing.
lock
#337
When refactoring tests, you end up moving critical assertion logic outside of the test method. This can cause our tests to fail in the wrong spot. This becomes worse if multiple methods share test logic. When a test fails you want to know exactly where the failure occurred. By leveraging #file and #line expression literals we can move the failure back to where it should be, within the test method. We will also see how we can continue to use expectations outside of a test instance.
lock
#336
In this episode we look at Xcode's support for measuring Code Coverage, a term that describes how much of your code is exercised during a test run. Using this tool you can see where your deficiencies are and add tests as needed to cover more of your production code with tests.
lock
#335
In this episode we implement OHHTTPStubs, a library that can be used to intercept and stub out network calls made with URLSession. Using this technique we can avoid hitting the network for our tests. We can also simulate different responses that are difficult or impractical to simulate in a real request.
lock
#334
In this episode we talk about testing requests against a real API. For this we will build an app called CoinList that leverages the Crypto Compare API to fetch stats about crypto currencies.
lock
#332
In this episode we use mocks and stubs to setup collaborating objects to inspect the behaviors of tested objects.
lock
#331
In this episode we go over examples of value based testing used for easily testable systems.
lock
#330
Running your tests in Xcode Playgrounds can be a great way to get rapid feedback on your changes. It is a useful way of practicing testing and experimenting with APIs that you are not familiar with. In this episode we will see how to run the test suite and how to enhance the feedback we get by observing the test results as they are run.
lock
#329
If you did not check the box "Include Unit Tests" when first creating your project (or perhaps you want to add a separate testing target), this screencast will show the steps of how to get it set up from scratch. It also covers how to set up a scheme dedicated to building your tests, and choosing which tests to run automatically.
lock
#328
XCTest is a test framework built into Xcode. In this episode we'll see the mechanics of how this works, how your test bundle sits alongside your app in Xcode. We'll look at the structure of test cases, and the assertions we will use to verify behavior of our code.
lock
#229
We build our activity streak detection algorithm, testing it along the way with Quick and Nimble.
lock
#228
In this episode we allow for generating health data for use in the iOS simulator, where HealthKit data will not be available. We then create some known streaks to make the streak detection and UI decoration easier to test. We end the episode by setting up Quick and Nimble that we will use to test our streak generation algorithm.
lock
#170
In this episode we talk about a Swift testing framework called Quick. Quick offers a familiar BDD style syntax, some really friendly matchers, as well as support for testing asynchronous parts of our code. We'll use a Ninja class as our example, testing initialization, equality, and an asynchronous method.