Size: a a a

Scala User Group

2021 December 01

R

RAFIZ in Scala User Group
не знаете, можно ли (в Intellij IDEA, например) удалить абстрактный метод трейта так, чтобы все его реализации во всех классах-наследниках тоже удалились? (и тесты для метода тож)
источник

∫f(x)dx in Scala User Group
в идее?
источник

R

RAFIZ in Scala User Group
да. знаю, что поменять сигнатуру так, чтобы везде эта правка подцепилась - можно. а вот с удалением?
источник

∫f(x)dx in Scala User Group
ну есть safe delete
источник

∫f(x)dx in Scala User Group
попробуй
источник

R

RAFIZ in Scala User Group
блин, я в выпадающем списке не заметил safe delete сначала, там и искал. ок, спасибо
источник

R

RAFIZ in Scala User Group
как тестировать методы вида
def sendRequest[T: FromEntityUnmarshaller](request: HttpRequest): Future[T]

при помощи scalamock?
при запуске самого теста он требует вручную подать туда последний параметр и даже когда я подаю его вот так implicitly[FromEntityUnmarshaller[ByteString]], падает с ошибкой

Expected:
inAnyOrder {
 <mock-1> ?.sendRequest[T](HttpRequest(HttpMethod(GET),https://host:8080/url,List(Authorization: Bearer token),HttpEntity.Strict(none/none,0 bytes total),HttpProtocol(HTTP/1.1)), akka.http.scaladsl.unmarshalling.Unmarshaller$$anon$1@689508f9) once (never called - UNSATISFIED)
}

Actual:
 <mock-1> ?.sendRequest[T](HttpRequest(HttpMethod(GET),https://host:8080/url,List(Authorization: Bearer token),HttpEntity.Strict(none/none,0 bytes total),HttpProtocol(HTTP/1.1)), akka.http.scaladsl.unmarshalling.Unmarshaller$$anon$1@3dcd3c6e).
ScalaTestFailureLocation: ?.?Spec$$anon$1 at (MyServiceSpec.scala:32)
org.scalatest.exceptions.TestFailedException: The future returned an exception of type: org.scalatest.exceptions.TestFailedException, with message: Unexpected call: <mock-1> TcrmRequest.sendRequest[T](HttpRequest(HttpMethod(GET),https://host:8080/url,List(Authorization: Bearer token),HttpEntity.Strict(none/none,0 bytes total),HttpProtocol(HTTP/1.1)), akka.http.scaladsl.unmarshalling.Unmarshaller$$anon$1@3dcd3c6e)
источник

R

RAFIZ in Scala User Group
то есть он будто ожидает один и тот же имплиситный анмаршаллер, а так как он каждый раз заново вычисляется - утверждение не выполняется
источник

AS

Artem Sokolov in Scala User Group
ну проблема в том что там видимо объект на вызов создается, и у объекта нет equals который бы задавал эквивалентность
может в моке как-то можно подлезть и передать компаратор,
источник

AS

Aλexander Semenov in Scala User Group
юнит тесты, бессмысленные и беспощадные
источник

AS

Artem Sokolov in Scala User Group
вообще я бы предложил
1) подумать над тем что именно вы хотите проверить и выделить эту абстракцию (которую вы хотите проверить) в отдельный метод/класс/юнит/модуль и протестировать его input->output, убрав все что не важно для абстракции и теста (маршалера там не будет)
2) написать руками аналог мока, который имплементит лишь проверяемый метод, и в нем реализовать сравнение какое хотите

если все таки хочется посношаться с мок фреймворком:
- посмотреть не позволяет ли мок определить Comparator или что-то такое чтобы задать кастомное сравнение.
- посмотреть нельзя ли как-то зафиксировать или подменить имплиситный объект, который передается в вызов (я хз откуда он у вас в коде берется)
источник

R

RAFIZ in Scala User Group
всем спасибо
источник
2021 December 02

ZM

ZLoyer Matveev in Scala User Group
@OlegYch_real в скасти тайтл страницы зачем-то равен коду набранному пользаком. И не влезает и некрасивое.
источник

λ

λoλegΥch in Scala User Group
почему некрасивое?
источник

ZM

ZLoyer Matveev in Scala User Group
источник

λ

λoλegΥch in Scala User Group
а ну это проблема твоего бравзера
источник

ZM

ZLoyer Matveev in Scala User Group
и моей эстетики, понял принял
источник

с#

саша сок #KotlinGang... in Scala User Group
авххавхавхавхвах что
источник

ΛВ

Λнтон Войцишевский... in Scala User Group
джва года ждал @sugakandrey спасибо
источник

ЮБ

Юрий Бадальянц... in Scala User Group
Это и правда годнота
источник