Size: a a a

Elm Lang сообщество разработчиков

2018 April 30

С

Сергей Ufocoder in Elm Lang сообщество разработчиков
у тебя есть функция update и она возвращает ( Model, Cmd Msg ), бери из кортежа команду и сверяй с нужной)
источник

С

Сергей Ufocoder in Elm Lang сообщество разработчиков
Anatoliy
Ну конечно! Я имел в виду "UniounType" вместо "Circle"
я усложнил немного свой пример https://ellie-app.com/rgCFSmfnsa1/2, смысл в том что я сделал Body с преодпределенной вариацией для union type для одного поля и у меня опять типы не разрешаются, есть ли лекартсво?
источник

PS

Pavel Shilyagov in Elm Lang сообщество разработчиков
Сергей Ufocoder
у тебя есть функция update и она возвращает ( Model, Cmd Msg ), бери из кортежа команду и сверяй с нужной)
А как сравнить команды? Создать такую же в тесте?
источник

AK

Anton Kotenko in Elm Lang сообщество разработчиков
Мне кажется тестировать создание команды вообще нет смысла
источник

AK

Anton Kotenko in Elm Lang сообщество разработчиков
Либо она правильно создаётся из update, либо неправильно :)
источник

NK

ID:536005385 in Elm Lang сообщество разработчиков
Взять elm-test и тестировать ф-ю update с разными командами
источник

AK

Anton Kotenko in Elm Lang сообщество разработчиков
Мессаджами или командами? update принимает мессадж, и продюсит команду, соответственно тест на то, что она продюсит правильную команду состоит в том, чтобы передать ей мессадж, модель в нужном состоянии, и сравнить команду на выходе с ожидаемой. Но зачем? Это обычно и так видно из кода update, какую она команду возвращает.
источник

NK

ID:536005385 in Elm Lang сообщество разработчиков
Msg конечно
источник

AK

Anton Kotenko in Elm Lang сообщество разработчиков
Ок. Но вопрос "зачем" всё равно остаётся :)
источник

NK

ID:536005385 in Elm Lang сообщество разработчиков
Для тестирования команд надо просто протестировать данные перед тем как превращать их в команду. Или использовать http://package.elm-lang.org/packages/rogeriochaves/elm-testable/latest но мне кажется слишком многословно
источник

AK

Anton Kotenko in Elm Lang сообщество разработчиков
В Эльме и пр. чаще тестируют более сложные процессы, и то необязательно.
источник

NK

ID:536005385 in Elm Lang сообщество разработчиков
Ну update может быть сложным и сразу и не понять что она там возвращает ;)
источник

NK

ID:536005385 in Elm Lang сообщество разработчиков
Elm test вот универсальный ответ в общем
источник

AK

Anton Kotenko in Elm Lang сообщество разработчиков
Сергей Ufocoder
я усложнил немного свой пример https://ellie-app.com/rgCFSmfnsa1/2, смысл в том что я сделал Body с преодпределенной вариацией для union type для одного поля и у меня опять типы не разрешаются, есть ли лекартсво?
https://github.com/evancz/elm-graphics/blob/master/src/Collage.elm Очень похоже на то, что ты пытаешься достичь.
источник

С

Сергей Ufocoder in Elm Lang сообщество разработчиков
гляну спасибо
источник

AK

Anton Kotenko in Elm Lang сообщество разработчиков
ID:536005385
Ну update может быть сложным и сразу и не понять что она там возвращает ;)
Если она оформлена через elm-format, то не должно, и если сложно понять, то это скорее знак что нужно разбить её на несколько под-функций
источник

A

Anatoliy in Elm Lang сообщество разработчиков
Сергей Ufocoder
я усложнил немного свой пример https://ellie-app.com/rgCFSmfnsa1/2, смысл в том что я сделал Body с преодпределенной вариацией для union type для одного поля и у меня опять типы не разрешаются, есть ли лекартсво?
Elm говорит что если update функция определена как принимающая тип Body, то передавать тип CircledBody неправильно
источник

С

Сергей Ufocoder in Elm Lang сообщество разработчиков
Anatoliy
Elm говорит что если update функция определена как принимающая тип Body, то передавать тип CircledBody неправильно
это и я прочитал) но как сделать чтобы и принимался CircledBody непонятно
источник

PS

Pavel Shilyagov in Elm Lang сообщество разработчиков
ID:536005385
Elm test вот универсальный ответ в общем
Да, спасибо. Нашёл ссылку на testable.
источник

NK

ID:536005385 in Elm Lang сообщество разработчиков
Ну Body и CircledBody это два разных типа
источник