Code coverage is a very helpful tool to detect gaps in a test suite. In the previous episode, we enabled code coverage to learn how to write better unit tests for the APIClient
class. The coverage report shows that the episodes()
method is fully covered. It also reveals that the private request(_:)
method lacks coverage. Even though the request(_:)
method is private to the APIClient
class, we can write unit tests to indirectly test it and increase coverage of the APIClient
class. That is the focus of this episode.
Subscribe to Cocoacasts Plus to watch this episode.
Building a Modern Networking Layer in Swift
Writing Unit Tests for Private Methods
by Bart Jacobs in Networking
Swift 5
Xcode 13
iOS 15
Building a Modern Networking Layer in Swift
-
06:30
-
08:01
-
09:24
-
09:27
-
5 Making the API Client Extensible
08:04
-
10:07
-
08:16
-
8 Working with Protected Resources
10:07
-
09:55
-
09:49
-
12 Creating and Updating Video Progress
06:40
-
07:57
-
14 Unit Testing the Networking Layer
10:32
-
15 Unit Testing Asynchronous Code
07:45
-
16 Stubbing the Cocoacasts API
08:42
-
18 Enabling Code Coverage to Find Gaps
07:10
-
19 Writing Unit Tests for Private Methods
08:33
-
20 Writing the Wrong Unit Tests
11:55
-
21 Writing Unit Tests for Edge Cases
08:25
-
22 Catching Bugs with Unit Tests
11:05
-
11:04