Size: a a a

2020 March 08

DS

D & S in pro.elixir
Когда мы делаем так GenServer.start_link(MODULE, opts, name: MODULE) , это значит что у нас будет всего один истанс на приложение, но выходит тогда его нельзя парельно тестить и нужно сбрасывать состояние после каждого теста. Можно конечно создать второй star_link/2 который будет принимать имя только для тестов, но насколько это ок ?
источник

LL

Lama Lover in pro.elixir
D & S
Когда мы делаем так GenServer.start_link(MODULE, opts, name: MODULE) , это значит что у нас будет всего один истанс на приложение, но выходит тогда его нельзя парельно тестить и нужно сбрасывать состояние после каждого теста. Можно конечно создать второй star_link/2 который будет принимать имя только для тестов, но насколько это ок ?
Во-первых, тестирование не обязательно должно быть асинхронным
Во-вторых, при тестировании юнита можно создавать сервер в начале юнита и держать его живым на протяжении всего юнита
В-третьих, можно тестировать не сам сервер, а его логику (конкретные функции, которые что-то делают)
источник

DS

D & S in pro.elixir
Тоесть сбрасывать стейт после каждого теста это ок ?
источник

Z

Zae in pro.elixir
если нужен стейт на протяжении всех тестов то можете стартануть генсервер в setup_all
источник

DS

D & S in pro.elixir
Не, как раз хочется что бы он пустой был перед каждым тестом
источник

DS

D & S in pro.elixir
Тесты то не должны зависить один от другого
источник

Z

Zae in pro.elixir
ну тогда в setup стартуете и в контекст отдаете пид генсервера
источник

DS

D & S in pro.elixir
Ты имеешь ввиду в setup all ?
источник

Z

Zae in pro.elixir
нет, просто в setup, если нужно перед каждым тестом новый генсервер
источник

DS

D & S in pro.elixir
Потому что т.к. в star_link не передается имя, а исползуется по названию модуля, то не выйдет создать второй инстанс
источник

РП

Рома Пак in pro.elixir
Ну как вариант запускать сервер в сетапе и убивать в on_exit
источник

LL

Lama Lover in pro.elixir
D & S
Тоесть сбрасывать стейт после каждого теста это ок ?
Можешь сбрасывать стейт. У юнит тестов практически нет никаких конкретных паттернов для генсервера, так что делай как хочешь
источник

DS

D & S in pro.elixir
Понял, всем спасибо
источник

IF

Igor Filippov in pro.elixir
Подскажите, как можно вытащить записи из postresql в промежутке по дням. Например с 28 февраля, по 8 марта?
источник

PG

Pïg Grëënëst in pro.elixir
А у тебя в записях день есть?
источник

IF

Igor Filippov in pro.elixir
Pïg Grëënëst
А у тебя в записях день есть?
источник

IF

Igor Filippov in pro.elixir
Я понимаю, что через fragment надо скл запрос написать, но увы скл не знаю
источник

PG

Pïg Grëënëst in pro.elixir
Не, Ecto понимает даты
источник

PG

Pïg Grëënëst in pro.elixir
where: ^~D[2020-02-28] < r.x and r.x < ^~D[2020-03-08]
источник

PG

Pïg Grëënëst in pro.elixir
Примерно такая ерунда
источник