To be able to run test against my viewModel, I needed to be able to use another service, to be able to mock up my service by dependency injection. viewModel = CurrencyViewModel ( service : service , dataSource : dataSource ) } override func tearDown () { self . readJson ( forResource : "sample" ) else { XCTAssert ( false , "Can't get data from sample.json" ) return } // giving completion after parsing // expected valid converter with valid data let completion : (( Result < Converter , ErrorResult >) -> Void ) = { result in switch result { case .