Дредд, кажется, зависает с вызовами 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
но я не думаю, что это проблема здесь.