Модульное тестирование секретных ключей

Я использую 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.

Другие вопросы по тегам