Как запустить настоящий сервер Phoenix во время теста?

Я реализую довольно сложную функциональность с внешними библиотеками, которые я не могу издеваться. Им нужно реализовать реальные запросы к серверу. Так,

как я могу запустить веб-сервер во время выполнения тестов?

P.S. My config/test.exs:

config :my_reelty, MyReelty.Endpoint,
  http: [port: {:system, "PORT"}],
  url:  [host: "localhost", port: 5000] # Specific port

Я пытаюсь curl http://localhost:5000, но получаю curl: (7) Failed to connect to localhost port 5000: Connection refused


person asiniy    schedule 23.07.2016    source источник
comment
Вы хотите запустить приложение Phoenix на порту 5000, одновременно запуская тесты для того же приложения? Извините, я не понимаю, чего вы пытаетесь достичь здесь.   -  person Dogbert    schedule 23.07.2016
comment
Да, я хочу запустить приложение на порту 5000 для запуска тестов.   -  person asiniy    schedule 23.07.2016
comment
У вас есть config :my_reelty, MyReelty.Endpoint, server: true в config/test.exs? Если нет, попробуйте добавить это. Я могу получить доступ к серверу из своих тестов с помощью server: true.   -  person Dogbert    schedule 23.07.2016
comment
Отлично, пожалуйста, ответьте   -  person asiniy    schedule 23.07.2016
comment
@asiniy, я пытаюсь сделать что-то похожее на название вашего вопроса. можешь подробнее объяснить как ты это сделал?   -  person fay    schedule 21.02.2017


Ответы (1)


Вам нужно добавить server: true в конфигурацию Endpoint:

config :my_reelty, MyReelty.Endpoint, server: true

phoenix.new, возможно, уже сгенерировал аналогичную конфигурацию с server: false (у меня так было в версии 1.2.0), поэтому вы можете просто изменить этот false на true.

person Dogbert    schedule 23.07.2016