Модульное тестирование секретных ключей
Я использую cocoapods-keys и пытаюсь проверить, возвращает ли метод правильный URL с секретным ключом API.
Тестовый набор выглядит так:
it(@"should return valid url for api", ^{
NSURL *url = [APIRoutes apiURLWithPath:path parameters:nil];
expect([url absoluteString]).to.equal([NSString stringWithFormat:@"http://www.api.com/api/v2/places?api_key=MY_API_KEY"]);
});
Но реальный метод возвращает мой действительный ключ API, который является хешем (например, 8s97f89asf89asf987saf), и мой тест не пройден. Как я могу проверить это? Должен ли я создать поддельную реализацию моего класса в моем тестовом файле?
1 ответ
Решение
Для этого можно смоделировать URL-адрес и ключ API, которые содержит APIRoutes, и проверить, что вы получите ожидаемый полный макет URL-адреса. Таким образом, вы проверяете только логику, а не конкретное значение URL.