Size: a a a

2021 May 22

AI

Arthur Irgashev in F# Chat
блин, ну что-то похожее, только чтобы это не нужно было описывать в txt файле и формат описания было более.... читабельно-дебагабельным / расширяемым
источник

AI

Arthur Irgashev in F# Chat
источник

AH

Ayrat Hudaygulov in F# Chat
Неееееет!

Вот сразу же пример. Что может пойти не так?

https://github.com/fsprojects/TickSpec#step-definitions-f
источник

AH

Ayrat Hudaygulov in F# Chat
Это регексп парсинг и мутабельный стейт на тесты (поэтому весь фреймворк заточен на последовательное выполнение тестов)
источник

AH

Ayrat Hudaygulov in F# Chat
и он сука пиздец медленный
источник

RM

Roman Melnikov in F# Chat
ого, прикольненько
источник

AH

Ayrat Hudaygulov in F# Chat
Если больше 50 тестов в проекте - рискуешь не дождаться окончания.
Я это говно видел в проде, боролся с ним как мог.
Эта либа должна гореть в огне
источник

AI

Arthur Irgashev in F# Chat
да, штука крутая, но столкнулся с весьма тривиальной проблемой: не отрабатывают экшны во вложенных рулах, если даже ветка забранчилась / не забранчилась
источник

AI

Arthur Irgashev in F# Chat
а это просто ппц как нужно
источник

AI

Arthur Irgashev in F# Chat
источник

AI

Arthur Irgashev in F# Chat
вот такие штуки с ней круто делать, но.... в таком виде они не работают :)
источник

RM

Roman Melnikov in F# Chat
://
да, у меня одно время прям под эту штуку был бы проект с логикой в монге, было бы идеально, для бизнесрулс часто меняющихся
источник

AH

Ayrat Hudaygulov in F# Chat
при том что сей пример элементарно делается без мутабельных стейтов и регэкспов, да

let initStock = { Count = 10 }
let refundedStock = refundOrder ... stock
assert refundedStock.Count = 11


оппа, смотри, нормальный тест, который параллелится с другими, не требует фреймворка, написан в одном месте (в случае tickspec, тебе придется прыгать между кодом и кукумбер синтаксисом), нет говно регекспов и оно быстрое как понос
источник

VS

Vladimir Shchur in F# Chat
так а это же экспектед для бдд вроде - просто один тесткейс поделен на несколько тестов. Я сам не юзал правда)
источник

AH

Ayrat Hudaygulov in F# Chat
так эти тесткейсы шарят стейт и поэтому всё плохо.
источник

VS

Vladimir Shchur in F# Chat
так можно же не шарить между ними
источник

AH

Ayrat Hudaygulov in F# Chat
Тогда у тебя будет по тикспек файлу на тест
источник

AH

Ayrat Hudaygulov in F# Chat
Итого по два файла на тест (код который парсит .spec файл ещё)
источник

AH

Ayrat Hudaygulov in F# Chat
Сомнительная польза куда ни плюнь. Одни минусы как по мне
источник

AI

Arthur Irgashev in F# Chat
короче, всё оказалось намного проще: форкнул, переписал 20 строк, добавил рекурсивный обход чилдов и всё заработало
источник