sirewix / jsonserver.hs

Simple rest api json server in haskell
BSD 3-Clause "New" or "Revised" License
0 stars 0 forks source link

Сделать API более тестируемым #2

Open stanislav-az opened 3 years ago

stanislav-az commented 3 years ago

Сейчас основная абстракция для хендлера App.Endpoint, насколько я понял. Не очень удобно для чего-то что совершает реальные эффекты писать тесты. Можно попробовать использовать Service Handle паттерн, или mtl-style паттерн проектирования (фри монады уже увидел в боте :+1: ) чтобы потестировать основной функционал сервера.

sirewix commented 3 years ago

Все переделал аля final-tagless/mtl-style, теперь можно сделать мок/стаб для методов execute и query (App.Prototype.Database.DbAccess), но что потестировать можно ума не приложу (чтобы при этом тестирующая функция не реимплементировала тестируемую)

stanislav-az commented 3 years ago

Ну ладно, к тестам придираться не буду, вижу final-tagless/mtl-style использован