Dredd - API Blueprint Testing Tool. "Неопределенная" проблема

Я установил dredd - API Blueprint Testing Tool и пытаюсь протестировать наш API API на предмет его реализации.

В чертеже у меня есть только один ресурс, который правильно реализован на некотором хосте... но тест не пройден:(

тестовая команда: dredd apiary.apib http://somehost.de:8443/imp-endpoint

выход: Info: Beginning Dredd testing... undefined

Я попытался также с большим количеством опций, чтобы получить больше информации, которая не определена, например, -l verbose и некоторые другие опции. Но я не получил больше информации о сбое:(

У кого-нибудь есть опыт с этим? Спасибо!!!:)

1 ответ

Ответил на Github, но я приведу основные моменты здесь для справки:

Я не смог воспроизвести вашу "неопределенную" проблему, но есть несколько проблем, которые, если их исправить, заставляют все работать.

  1. На данный момент базовый URL не может содержать путь (см. # 43). Это решено в #45, но еще не было объединено. Таким образом, ваша команда должна быть "dredd apiary.apib http://somehost.de:8443/", а затем "/imp-endpoint" должен быть префиксом в URL.

  2. Шаблон URI неверен в вашем файле apib. Вместо /api/V0/Resources/CarSharing/Cars?{lat}&{lng}&{radius}, так должно быть /imp-endpoint/api/V0/Resources/CarSharing/Cars{?lat,lng,radius}, См. RFC6750 для справки.

  3. Концы строк должны быть в стиле Unix, а не в Windows (\n, не \n\r). Когда я впервые запустил предоставленный вами apib, я получил ошибку: the use of carriage return(s) '\r' in source data isn't currently supported, please contact makers (это фактически выполняется синтаксическим анализатором проекта, см. snowcrash)

Надеюсь, это поможет! Я получаю 401 при запуске теста, так что вам нужно будет предоставить информацию об аутентификации HTTP Basic (это можно сделать в разделе заголовка проекта или с помощью -u флаг на дредд, как в -u username:password)

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