Size: a a a

Scala User Group

2020 May 23

OO

Oleksandr Olgashko in Scala User Group
Yevhen
а есть кстате челики которые забили на скалу и пошли в котлин?)
хватает
источник

OO

Oleksandr Olgashko in Scala User Group
в обратную сторону тоже есть
источник

AT

Aλeksei Tereχin in Scala User Group
Yevhen
а есть кстате челики которые забили на скалу и пошли в котлин?)
Слышал что нибудь про контору ecwid?
источник

AT

Aλeksei Tereχin in Scala User Group
источник

λ

λoλdog in Scala User Group
Aλeksei Tereχin
Слышал что нибудь про контору ecwid?
а ты?
источник

K

KrivdaTheTriewe in Scala User Group
стали богатыми
источник

K

KrivdaTheTriewe in Scala User Group
недавно
источник
2020 May 24

P

Pavel in Scala User Group
а как вы тестируете совместимость фронта с беком? можно писать golden тесты на circe, но это только бек. умные люди еще посоветовали https://docs.pact.io/
есть еще какие-то альтернативы?
источник

SK

Sergey Kucherenko in Scala User Group
Pavel
а как вы тестируете совместимость фронта с беком? можно писать golden тесты на circe, но это только бек. умные люди еще посоветовали https://docs.pact.io/
есть еще какие-то альтернативы?
не уверен, что такие тесты оправданны. e2e-тесты часть таких ошибок отловят, вопрос: стоит ли оставшаяся часть отдельного слоя тестов, или, может, за те же деньги получше покрыть фичи e2e-тестами? Потом, можно генерировать клиентов из спеки апи, сваггера, скажем. Родной сваггер-кодоген, правда, плохой, так что только свой саппортить. Ну и саму спеку можно использовать, чтобы контракты выражать поточнее. Скажем, какую проблему можно найти с помощью таких тестов на совместимость апи-клиент: есть интовое поле, сервер сует туда -1, клиент не ожидает. Можно очень хорошо покрыть это "тестами на совместимость", буквально руками учтя значимые частные случаи - это больно, пачка тестов на каждый филд. Можно делать что-то с пространством состояний, не модел чекинг - тоже больно - а, скажем, в духе property-based testing. Можно сразу захватывать контракты в спеке ("здесь только неотрицательный инт") и корректным образом хэндлить контракты в своем кодогене - самый дешевый, наверное, вариант с хорошим выхлопом, не надо реверсить контракты в тестах.
источник

P

Pavel in Scala User Group
Sergey Kucherenko
не уверен, что такие тесты оправданны. e2e-тесты часть таких ошибок отловят, вопрос: стоит ли оставшаяся часть отдельного слоя тестов, или, может, за те же деньги получше покрыть фичи e2e-тестами? Потом, можно генерировать клиентов из спеки апи, сваггера, скажем. Родной сваггер-кодоген, правда, плохой, так что только свой саппортить. Ну и саму спеку можно использовать, чтобы контракты выражать поточнее. Скажем, какую проблему можно найти с помощью таких тестов на совместимость апи-клиент: есть интовое поле, сервер сует туда -1, клиент не ожидает. Можно очень хорошо покрыть это "тестами на совместимость", буквально руками учтя значимые частные случаи - это больно, пачка тестов на каждый филд. Можно делать что-то с пространством состояний, не модел чекинг - тоже больно - а, скажем, в духе property-based testing. Можно сразу захватывать контракты в спеке ("здесь только неотрицательный инт") и корректным образом хэндлить контракты в своем кодогене - самый дешевый, наверное, вариант с хорошим выхлопом, не надо реверсить контракты в тестах.
я вот как раз смотрю есть ли альтернативы полному е2е тестингу.
не хочется тащить селениум или подобное.
так бы логику фронта проверил чисто на фронте, логику бекенда так же отдельно, а протокол между ними какими-то контрактными тестами. но я еще не понял хорошо ли так делать
источник

SK

Sergey Kucherenko in Scala User Group
Pavel
а как вы тестируете совместимость фронта с беком? можно писать golden тесты на circe, но это только бек. умные люди еще посоветовали https://docs.pact.io/
есть еще какие-то альтернативы?
если делать именно такие тесты на совместимость, то на чем-нибудь со стороны жс, то есть, по сути, обрезанные e2e-тесты. Проверка кросс-браузерной совместимости там не нужна, можно сделать подешевле
источник

SK

Sergey Kucherenko in Scala User Group
phantomjs, смотрю, сдох уже
источник

SK

Sergey Kucherenko in Scala User Group
это если клиент веб, конечно
источник

P

Pavel in Scala User Group
Sergey Kucherenko
если делать именно такие тесты на совместимость, то на чем-нибудь со стороны жс, то есть, по сути, обрезанные e2e-тесты. Проверка кросс-браузерной совместимости там не нужна, можно сделать подешевле
да, кросс-браузерность отдельно на мокнутом бекенде можно тестировать
вот как вариант да, просто написать какой-то жс тест, который будет дергать логику. пока я к такому подходу склоняюсь, но еще посмотрю pact.io
источник

SK

Sergey Kucherenko in Scala User Group
для тестов со стороны жс самое оно scriptable headless browsers, slimerjs / puppeteer / playwright, последнее самое новое-модное
источник

P

Pavel in Scala User Group
Sergey Kucherenko
для тестов со стороны жс самое оно scriptable headless browsers, slimerjs / puppeteer / playwright, последнее самое новое-модное
посмотрю в эту сторону, спасибо
источник

λ

λoλdog in Scala User Group
Pavel
посмотрю в эту сторону, спасибо
Есть варианты при котором фронт берет схему с сервера и это валится при компиляции если что-то не так
источник

P

Pavel in Scala User Group
λoλdog
Есть варианты при котором фронт берет схему с сервера и это валится при компиляции если что-то не так
вот это похоже на этот pact.io, если я его правильно понял. фронт и бек генерят схему, которую сравниваем и смотрим совпадает ли
источник

λ

λoλdog in Scala User Group
Ну лично я видел такие в graphql relay, где схема есть только на сервере. Но при компиляции js, все это валидируется
источник

K

KrivdaTheTriewe in Scala User Group
источник