2016-08-09 3 views
0

Я использую инструмент Dredd для тестирования моего API (который находится на пасеке .io).Dredd не может найти мою документацию по API, как я могу сказать, где она находится, если она не на моем локальном диске (она находится на сервере apiary.io)

Вопрос

Я хотел бы предоставить Дредд с пути к моей документации (она даже просит об этом), однако мой API док на apiary.io, но я не знаю точный адрес что указывает на это. Каким будет правильный способ предоставления dredd с помощью API-пути?

Что сделали работу (но не то, что я ищу)

Примечания: Я попытался загружая апите на мой локальный диск и обеспечение Дредд с локальным путем к файлу (или apib YML) который отлично работает (yay!), но я бы хотел избежать локального копирования и просто предоставить dredd расположение моего реального API-документа, который поддерживается на сервере пасеки.

Как это сделать (без предварительного извлечения файла на локальный диск)?

Попытки решить эту проблему, что не удалось

Я также прочитал (и пробовал) по следующим темам, они могут быть актуальны, но я не был успешным в решении вопроса - Использование аутентификации маркера переменной среды - Предоставление домена, предоставленного apiary.io//settings, для dredd - Предоставление команды dredd все эти попытки по-прежнему дают тот же результат, Dredd не имеет понятия, где найти документ API, если я не предоставил путь в мой локальный компьютер к файлу (который я должен сначала загрузить или создать вручную на моем компьютере).

Любая помощь приветствуется, спасибо!

ответ

0

Если я правильно понимаю, вы бы хотели использовать dredd и кормить его, используя документ описания API, расположенный на платформе Apiar.io, правильно?

Если да, то вы должны быть в состоянии сделать это просто называя init команды с нужными опциями:

dredd init -r apiary -j apiaryApiKey:privateToken -j apiaryApiName:sasdasdasd

Вы можете найти частную лексема происходит в Test части целевом API (вы 'найдем кнопку в заголовке приложения).

Позвольте мне знать, если это решит проблему для вас - Я прослежу, чтобы распространить это и документировать его соответствующим образом на нашей странице помощи

PS: Вы также можете использовать свой собственный репортер - в этом случае просто omit -r apiary при написании параметров командной строки.

+0

Винченцо, спасибо за ваш ответ. Я на самом деле писать следующую команду, похожую на то, что Вы писали: Дредд INIT -r пасека -j apiaryApiKey: -j apiaryApiName: Это должно идентифицировать документацию API в порядке, но Dredd все еще просит меня войти в _? Расположение документа описания API (apiary.apib) _ Что мне следует вводить в этом поле? (просто нажав enter, чтобы получить значение по умолчанию, значение dredd sets не работает. Я также попытался войти в домен, указанный в окне настроек для моего API, и он тоже не работал). Он работал только в том случае, если у меня была локальная копия API ... –

+0

Привет, К сожалению, я допустил ошибку - эта функция пока недоступна. Существует проблема [здесь] (https://github.com/apiaryio/dredd/issues/366), и в настоящее время она работает. Я неверно истолковал слова моего коллеги. – Vincenzo

+0

На данный момент я буду использовать CLI пасеки, чтобы получить его первым - спасибо за ссылку на проблему - было бы неплохой функцией, чтобы избежать необходимости сначала извлекать, а затем запускать dredd. Спасибо –

0

Вы можете подавать Dredd не только путь к файлу на вашем диске, но также и with an URL.

Если ваш API в Apiary является общедоступным, документ описания API (в данном случае API Blueprint) должен иметь общедоступный URL-адрес. Например, если вы перейдете на http://docs.apiblueprintapi.apiary.io/, вы можете увидеть слева ссылку для загрузки.К сожалению, эта ссылка видна только для пользователей, которые не имеют доступа к редактору API, поэтому вы не видите ссылку, если являетесь владельцем API. Попробуйте выйти из Пасека и ссылка появится:

enter image description here

Затем вы можете кормить Дредд со ссылкой:

$ dredd 'http://docs.apiblueprintapi.apiary.io/api-description-document' 'http://example.com:8080/api' 

Я согласен, это не очень интуитивным и так как вы не первый, кто придумал это, я думаю, мы подумаем о том, как сделать это проще.


Если ваш API не является общедоступным, то, к сожалению, пока нет способа получить URL. Однако вы можете использовать GitHub Sync или Apiary CLI, чтобы получить файл на вашем диске в автоматическом режиме.

+0

Спасибо за ваш ответ, я поеду с одним из двух вариантов (github или пасека CLI). –