@Fsharp_chat

Страница 695 из 772
Ayrat
04.09.2018
16:30:39
у тебя ж асерёт кинет ексепшун в репл если что-то не так

Alexander ⚗
04.09.2018
16:31:04
Вот собственно с раннером я и пытаюсь разобраться. Эксепшоны не хочу, хочу красивый аутпут :3

Ayrat
04.09.2018
16:31:33
тогда не понимаю чем тебя dotnet test не устроил))

Google
Grigoriy
04.09.2018
16:32:02
Ayrat
04.09.2018
16:32:06
он же ранер запускает, дискаверит тесты, гоняет, выводит красивый аутпут

Alexander ⚗
04.09.2018
16:32:25
тогда не понимаю чем тебя dotnet test не устроил))
Хочу сделать нативный бинарник который можно будет засунуть в докер. А microsoft/dotnet:2.1-sdk почти 2 гига жрет

Ayrat
04.09.2018
16:32:29
я думал тебе не хочется гонять ВСЕ тесты, тогда да, fsx делаешь и гоняешь отдельным кусками

Friedrich
04.09.2018
16:32:41
тычоа - это же Microsoft :)
Дак и fsi — Microsoft.

Alexander ⚗
04.09.2018
16:32:48
Поэтому хочу отказаться от dotnet test и сделать через бинарник

Grigoriy
04.09.2018
16:32:59
Дак и fsi — Microsoft.
я уретрирую :)

Alexander ⚗
04.09.2018
16:33:14
Не то, чтобы это критично. Но такое решение мне кажется более... симпатичным что ли :)

Vasily
04.09.2018
16:33:43
я уретрирую :)
Опечатка?

Вообще не совсем понятно, зачем тесты пихать в докер

Friedrich
04.09.2018
16:34:26
Поэтому хочу отказаться от dotnet test и сделать через бинарник
Тебе же всё равно тесты нужно компилировать, то есть SDK у тебя есть.

Grigoriy
04.09.2018
16:34:28
Опечатка?
да, наверное ;)

Google
Roman
04.09.2018
16:34:48
Grigoriy
04.09.2018
16:34:58
Friedrich
04.09.2018
16:35:03
Alexander ⚗
04.09.2018
16:35:35
Ну, есть набор тестов, которые шлют всякие рест запросики и ассертят статус коды и контент. Сделано на NUnit.Framework и FsUnit для ассертов. Солюшн — Class Library. Сейчас запускаю либо через консоль dotnet test либо через райдер с NUnit3TestAdapter

Alexander ⚗
04.09.2018
16:35:54
Friedrich
04.09.2018
16:36:24
Чтобы на CI их исполнять
На CI тоже есть SDK, верно?

Alexander ⚗
04.09.2018
16:36:45
На CI тоже есть SDK, верно?
Пока нет. И не хочу туда тащить его без особой надобности

Вообще тесты на ф# это самодеятельность в целях проверки пригодности идеи. Так что пока я немного ограничен в ресурсах

Ayrat
04.09.2018
16:37:41
если ты хочешь порекламить F# то лучше делать максимально просто, чтобы не вызывало оторопь

Alexander ⚗
04.09.2018
16:38:02
Пока все делаю локально. Написал тесты, запустил, прогнал

Ayrat
04.09.2018
16:38:20
при этом желательно по максимум использовать доступные интеграции. Т.е. "здесь можно делать как привыкли", а не "а чтобы сделать тест аутпут, я написал свою либу" :)

Friedrich
04.09.2018
16:39:10
Пока нет. И не хочу туда тащить его без особой надобности
А кау ты без SDK будешь собирать проект?

Vasily
04.09.2018
16:39:58
И ещё расскажи, мил человек, накой тебе докер для билд агента?

Учитывая, что их обычно около трёх

Friedrich
04.09.2018
16:40:37
И ещё расскажи, мил человек, накой тебе докер для билд агента?
Мб у него весь пайплайн в контейнерах, это норм.

Vasily
04.09.2018
16:41:02
Мб у него весь пайплайн в контейнерах, это норм.
Я просто слишком стар для всего этого

Alexander ⚗
04.09.2018
16:41:36
И ещё расскажи, мил человек, накой тебе докер для билд агента?
У нас пайплайн такой. Что тесты в своем реджистри лежат и прогоняются при коммитах на основном проекте

Google
Alexander ⚗
04.09.2018
16:42:05
2гб

Vasily
04.09.2018
16:42:12
И?

Alexander ⚗
04.09.2018
16:42:29
В идеале я хочу легковесный контейнер с бинарником тестов

Vasily
04.09.2018
16:42:51
Это называется overengineering

Проблем получишь больше

Alexander ⚗
04.09.2018
16:43:20
Потому что сейчас тесты на питоне в контейнере занимают не много места и если я предложу тесты на ф# в контейнере на 2гб на меня странно посмотрят :3

Ayrat
04.09.2018
16:43:33
не, ну есть консольные ранеры для nunit/xunit, но лично я, лично я, не стал бы без крайней необходимоисти их пользовать

Vasily
04.09.2018
16:44:15
Да все равно бинари с исходниками разъедутся

Зуб даю

Alexander ⚗
04.09.2018
16:45:12
Ну если при каждом пуше в репчик с тестами билдить их и складывать в реджистри то не разъедутся

Но да, тут встанет вопрос с сдк

Либо на раннер ставить либо билдить в отдельном контейнере, опять же на 2гб

Vasily
04.09.2018
16:46:53
Есть expecto ещё

Grigoriy
04.09.2018
16:47:08
Vasily
04.09.2018
16:47:28
Тебе же параметризованные тесты нужны

Ayrat
04.09.2018
16:47:34
Grigoriy
04.09.2018
16:48:01
LMGIFY :)

Ayrat
04.09.2018
16:48:17
https://stackoverflow.com/a/33919006/4346877

Google
Alexander ⚗
04.09.2018
16:48:20
http://nunit.org/docs/2.5.8/consoleCommandLine.html
А на третий на гитхабе одна скудная страничка с текстом

Есть expecto ещё
Да, можно попробовать его. Посмотрю тоже.

Ayrat
04.09.2018
16:48:50
А на третий на гитхабе одна скудная страничка с текстом
там вроде всё то же самое, только имя бинарника поменялось

Alexander ⚗
04.09.2018
16:48:52
Вообще я nunit выбрал по старой памяти с с#

Есть конечно и другие фреймворки, можно их попробовать

Vasily
04.09.2018
16:50:28
Короче, тебе нужен экзешник, который из условной csv прогоняет запросы

Как я понял

Alexander ⚗
04.09.2018
16:50:50
Просто набор тестов

Vasily
04.09.2018
16:51:08
Ну без ты теряешь вариативность

И возможность подбацать без редеплоя

Ayrat
04.09.2018
16:51:29
кстати, multistage build решает твою проблему с весом

билдишь тесты в dll в полном sdk, забираешь артефакт на другой стейдж в дохлый рантайм, где исполняешь и получаешь красивый аутпут

с 2ГБ до 200мб можно ужать

Ayrat
04.09.2018
16:52:54
FROM microsoft/dotnet:2.0-sdk AS build COPY . ./docker-size-test WORKDIR /docker-size-test/ RUN dotnet build -c Release -o output FROM microsoft/dotnet:2.0-runtime AS runtime COPY --from=build /docker-size-test/output . ENTRYPOINT ["dotnet", "docker-size-test.dll"]

Ayrat
04.09.2018
16:53:04
Grigoriy
04.09.2018
16:53:12
под таргет платформу

паблиш сам, что надо от рантайма возьмёт

Google
Grigoriy
04.09.2018
16:53:40
он селф-контаинед

Ayrat
04.09.2018
16:54:13
паблиш сам, что надо от рантайма возьмёт
dotnet publish рантайм не копирует вроде

Grigoriy
04.09.2018
16:55:09
я прогнал - мы же всё равно через dotnet test собираемся запускаться

Grigoriy
04.09.2018
17:20:52
dotnet publish рантайм не копирует вроде
The dotnet publish command's output is ready for deployment to a hosting system (for example, a server, PC, Mac, laptop) for execution. It's the only officially supported way to prepare the application for deployment. Depending on the type of deployment that the project specifies, the hosting system may or may not have the .NET Core shared runtime installed on it.

Ayrat
04.09.2018
17:21:24
ну т.е. с каким-то флагом, оно копирнёт рантайм, да. по дефолту вроде нет

TheRainwildsKeeper
04.09.2018
17:24:03
-c=Release -r=win10-x64 например

Klei
04.09.2018
17:42:14
Есть конечно и другие фреймворки, можно их попробовать
Лень/некогда погружаться в эту девопс эпопею, но из того что понял складывается ощущение, что надо юзать Expecto. Периодически юзаю его из fsx (и не только). В нем тесты изначально являются объектами с некоторым набором свойств.

Klei
04.09.2018
17:48:45
Хорошо, поизучаю его подробнее :)
Сразу после opеn Expecto открывай open Expecto.Flip. Вернет нормальный порядок.

Roman
04.09.2018
20:30:55
https://github.com/dbrattli/Fable.Reaction

Vladimir
04.09.2018
20:43:24
Похвастаюсь) Сделал сегодня в жирафа пуллреквест

Roman
04.09.2018
20:43:44
Vladimir
04.09.2018
20:44:06
=) посмотрим как зайдет) https://github.com/giraffe-fsharp/Giraffe.Razor/pull/7

Roman
04.09.2018
20:47:41
Делал кто пакеты для fable?

Всмысле паблишил?

Там же не дллку паблишил надо, я немного хз чего публиковать-то

Там же не дллку паблишил надо, я немного хз чего публиковать-то
Помогите плз кто-нибудь как прочтет. В гиттере уже вопрос задал

Ivan
04.09.2018
20:58:58
http://fable.io/blog/Paket-integration.html

Страница 695 из 772