Size: a a a

2020 May 23

AR

Andrew Rudenko in pro.elixir
ну или можно с другой стороны зайти: а есть интеграции в документацию для propcheck? чтоб фигась, и как @spec / @type красивенько в доках появилось
источник

PG

Pig Greenest in pro.elixir
Źmićer Rubinštejn
А как это можно сделать? Ты получается должен запустить функцию на всей области определения и потом проверить всю ее область значений
Или проанализировать функцию и попытаться подобрать контрпримеры на основе её тела
источник

AR

Andrew Rudenko in pro.elixir
Źmićer Rubinštejn
А как это можно сделать? Ты получается должен запустить функцию на всей области определения и потом проверить всю ее область значений
ну этим property checking занимается, мне бы в целом было бы достаточно просто запускать валидатор в рамках тестов что у меня есть (и лучше — автоматически)
источник

NB

Nikita Babushkin in pro.elixir
https://hexdocs.pm/elixir/Atom.html#to_string/1 Так как есть в доках не достаточно красиво?
источник

NB

Nikita Babushkin in pro.elixir
сорян, просмотрел про propcheck. коммент не в кассу
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Pig Greenest
Или проанализировать функцию и попытаться подобрать контрпримеры на основе её тела
Так делает диалайзер, но для этого по хорошему нужна типизация постатичнее чем в эликсире
источник

AR

Andrew Rudenko in pro.elixir
ну т.е. вот у меня есть функа @spec foo(arg1) :: res. в рамках прогона тестов я хочу чтобы при ее вызовах автоматически проверялись аргументы и возвращаемое значение на соответсвие спеке
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Andrew Rudenko
ну т.е. вот у меня есть функа @spec foo(arg1) :: res. в рамках прогона тестов я хочу чтобы при ее вызовах автоматически проверялись аргументы и возвращаемое значение на соответсвие спеке
Есть какие то проекты с prop tests, но я никогда не понимал их необходимость
источник

AR

Andrew Rudenko in pro.elixir
Źmićer Rubinštejn
Так делает диалайзер, но для этого по хорошему нужна типизация постатичнее чем в эликсире
ну вот мне не нужно постатичнее, нужен просто генератор валидаторов из спеков + профилирование кода в рамках прогона тестов
источник

AR

Andrew Rudenko in pro.elixir
Źmićer Rubinštejn
Есть какие то проекты с prop tests, но я никогда не понимал их необходимость
prop tests это другое, я не хочу генераторы генерить
источник

AR

Andrew Rudenko in pro.elixir
у менять есть обычные юнит тесты
источник

AR

Andrew Rudenko in pro.elixir
я хочу проверить что спека, которую я написал соответсвует действительности хотя бы в рамках тестов
источник

AR

Andrew Rudenko in pro.elixir
никто не сделал такого?
источник

NB

Nikita Babushkin in pro.elixir
Я за те несколько лет, что работаю с эликсиром ни разу не ловил в проектах в которых пишутся спеки на всё публичное, чтобы диалайзер не заметил спеку, которая врёт. Потому, наверное, и не задавался вопросом.
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Andrew Rudenko
я хочу проверить что спека, которую я написал соответсвует действительности хотя бы в рамках тестов
Ты имеешь ввиду что аргументы которые передаёшь в тесте соответствуют спеке? Это проверяет диалайзер
источник

AR

Andrew Rudenko in pro.elixir
Źmićer Rubinštejn
Ты имеешь ввиду что аргументы которые передаёшь в тесте соответствуют спеке? Это проверяет диалайзер
диалайзер проверяет только то, что он может проверить статически, а проверить он конечно может до фига не все
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Тогда я не понимаю что именно ты хочешь
источник

AR

Andrew Rudenko in pro.elixir
проверять значения в рантайме! )
источник

AR

Andrew Rudenko in pro.elixir
с валидатором сгенеренным из спеки
источник

NB

Nikita Babushkin in pro.elixir
И с аргументами сгенерированными из спеки?
источник