Издевательство над GMSPlace

#ios #swift #unit-testing #mocking #google-places

#iOS #swift #модульное тестирование #издевательство #google-places

Вопрос:

В настоящее время я использую Google Places и создал абстрактный инструмент выбора места, а также конкретную реализацию с использованием Google Places.

Я провожу для этого несколько модульных тестов. Я подошел к шагу, на котором я хочу издеваться над GMSPlace (https://developers.google.com/places/ios-sdk/reference/interface_g_m_s_place )

Проблема в том, что у класса GMSPlace недоступна инициализация по умолчанию.

 /**
 * Default init is not available.
 */
- (instancetype)init NS_UNAVAILABLE; 
  

Может кто-нибудь поделиться, как мы можем издеваться над этими случаями, когда init недоступен?

Спасибо

Комментарии:

1. Я также нахожу способ издеваться над GMSPlace в swift. Я не могу написать модульный тестовый пример. Любая удача, если предоставлено какое-либо решение.

2. Я пытаюсь написать пример XCTest для приведенного ниже кода. Пожалуйста, помогите функции lookupAddress(placeId: String) { пусть placesClient = GMSPlacesClient() placesClient. Ищем supplaceid(placeId, обратный вызов: { [слабый self] (место, _) в guard пусть strongSelf = self else { return }, если пусть place = place { // Обработайте регистр, если допустимое место возвращает self? .Вызовите метод для определения адреса компонента из returnValue(поместите) } else { // Обработайте регистр, если возвращается нулевое значение } }) }