#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 { // Обработайте регистр, если возвращается нулевое значение } }) }