To upload images to AWS S3, we have to integrate AWS SDK. Instead of using CocoaPods, Carthage or manual integration — take advantage of SPM (Xcode 11)
Sharing my notes that I prepared to remember the python syntax from already known language syntax. (Swift 4.2; Python 3.7)
“The Loci method is one of the most ancient memorization tools known, and is based on attaching individual items you need to remember, to individual points on a route you are familiar with, so you can easily recall the items as you “walk” that route in your mind.”
typealias a module
typealias SMSomeStruct = SomeModule.SomeStruct
Import only parts from a module
import struct SomeModule.SomeStruct
import class SomeModule.SomeClass
by mocking URLProtocol
What is Mocking?
In object-oriented programming, mock objects are simulated objects that mimic the behavior of real objects in controlled ways. (wiki)
In our case, we have to mimic URLSession so that it will return the mock object without hitting the physical server. We can achieve this by creating MockURLProtocol that confirms to URLProtocol and implementing its required methods. Now our MockURLProtocol is capable of handling the specified request.
Now we have to add our MockURLProtocol to the URLSessionConfiguration.protocolClasses …
Writing Unit Test cases Using XCTest framework
In the previous article we discussed about how to write Testable Network layer.
In this article we will discuss about how to write unit tests for that network layer. Basically to perform unit tests, we have to know expected output for the given inputs.
Remember we never actually hit the physical server to run tests, doing so we cannot test all possible cases.
For each APIHandler we have two methods to perform tests as mentioned in Part 1.
func makeRequest(from parameters: [String: Any]) -> Requestfunc parseResponse(data: Data) throws -> LoginResponse
When you write a program, the code should be readable, maintainable and testable, as per coding best practices.
“A code that can not be tested is flawed.”
As iOS mobile app developers, we often write a lot of code that deals with UI, network, persistence and other business logic. In this article, we will share our implementation of Network Layer, which deals with API /web-service interactions, to help to write tests on network layer logic.
Before writing tests, we need to become familiar with how to decouple Network Layer code from UI related code and other business logic. …
We generally maintain service constants in a constants file, changing the endpoints for environments like development, staging and production. Unfortunately, this process is prone to human error when pushing builds to the store or doing an adhoc release. To avoid this, we can construct baseURL per the environments, as shown below.
Then you can add application-related functions in extensions like this:
Software Developer @AppIt Ventures