Дредд, кажется, зависает с вызовами API на сервер asp.net kestrel

Когда я запускаю dredd, кажется, что он просто зависает после первого вызова API. Я не уверен, как отлаживать или диагностировать. Я работаю с asp.net 5 mvc 6 api сервис с dnx web команда. Как я могу увидеть, что происходит или в чем проблема?

Я попытался добавить хуки для отладки и вижу, что он вызывает первый API, а затем просто никогда не вызывает событие after. Я проверил API с почтальоном и локон с правильными результатами. Dredd также работает с тем же планом, если я использую сервер express node.js.

Единственная неудачная комбинация - это Dredd с ответом сервера kestrel asp.net. Сервер регистрирует, что запрос сделан, и ответ отправлен, поэтому он запускает тест, но никогда не завершается.

Дредд ищет какой-то хук после обработки, потому что я вижу, что сервер получает запрос с помощью dredd независимо от.net или node.js. Даже если я раскручиваю процесс.net api в другом процессе, он не работает, почему это имеет значение? В любом случае это должны быть только http запросы на dredd?

Это волнует, что это возвращается с сервера Kestrel?

ответ пустельга

Content-Type → application/json; charset=utf-8
Date → Wed, 06 Jan 2016 17:14:10 GMT
Server → Kestrel
Transfer-Encoding → chunked

Body {"foo":"bar"}

dredd.yml

dry-run: null
hookfiles: null
language: nodejs
sandbox: false
server: dnx web
server-wait: 3
init: false
names: false
only: []
output: []
header: []
sorted: false
user: null
inline-errors: false
details: false
method: []
color: true
level: verbose
timestamp: false
silent: false
path: []
blueprint: test.apib
endpoint: 'http://localhost:5000'

консольный вывод dredd команда

Starting server with command: dnx web
Waiting 3 seconds for server command to start...
Hosting environment: Production
Now listening on: http://localhost:5000
Application started. Press Ctrl+C to shut down.
info: Beginning Dredd testing...
info: Found Hookfiles: hooks.js
hook: before all
hook: before each
info: Microsoft.AspNet.Hosting.Internal.HostingEngine[1]
      Request starting HTTP/1.1 GET http://localhost:5000/message  
info: Microsoft.AspNet.Mvc.Controllers.ControllerActionInvoker[1]
      Executing action method Foo.Controllers.HelloController.Get with arguments () - ModelState is Valid'
info: Microsoft.AspNet.Mvc.Infrastructure.ObjectResultExecutor[1]
      Executing ObjectResult, writing value Microsoft.AspNet.Mvc.ActionContext.
info: Microsoft.AspNet.Mvc.Infrastructure.MvcRouteHandler[2]
      Executed action Foo.Controllers.HelloController.Get in 0.0165ms
info: Microsoft.AspNet.Hosting.Internal.HostingEngine[2]
      Request finished in 0.041ms 200 application/json; charset=utf-8

test.apib

# GET /message
+ Response 200 (application/json; charset=utf-8)

        {"foo":"bar"}

1 ответ

Он правильно проходит на моей машине (MacOSX с coreclr mono rc2) То же самое относится и к версии nodejs, которую вы указали в репозитории.

Единственное, что мне пришлось изменить в моем приложении, была команда запуска:dnx run --server Microsoft.AspNet.Server.Kestrel

но я не думаю, что это проблема здесь.

образ

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