Modularizing Legacy Projects Using TDD by Khaled El-Morabea & Hassaan El-Garem

Modularizing Legacy Projects Using TDD by Khaled El-Morabea & Hassaan El-Garem

Author:Khaled El-Morabea & Hassaan El-Garem
Language: eng
Format: epub
ISBN: 9781484274286
Publisher: Apress


If you recall, we used this approach in Chapter 6 when we were writing tests for MainViewModel. MainViewModel depended on NetworkLayer, so we created NetworkLayerStub using inheritance. And it looked like this :class NetworkLayerStub: NetworkLayer {

var stubbedData:Data?

init(stubbedData:Data) {

self.stubbedData = stubbedData

}

public override func executeNetworkRequest(callBack: @escaping (_ data:Data?) -> Void){

let jsonData = self.stubbedData!

callBack(jsonData)

}

}

We inherit from NetworkLayer, and we override executeNetworkRequest and make it return stubbedData instead of actually making a network request. We set stubbedData from our tests as needed.



Download



Copyright Disclaimer:
This site does not store any files on its server. We only index and link to content provided by other sites. Please contact the content providers to delete copyright contents if any and email us, we'll remove relevant links or contents immediately.