Size: a a a

2021 February 23

AE

Alexandr Emelyanov in pro.jvm
Теперь есть совместный кодинг в идее
https://www.jetbrains.com/help/idea/code-with-me.html
источник

e

error_404 in pro.jvm
Alexandr Emelyanov
Теперь есть совместный кодинг в идее
https://www.jetbrains.com/help/idea/code-with-me.html
Неплохо👌
источник

A

Artjom Kalita in pro.jvm
Alexandr Emelyanov
Теперь есть совместный кодинг в идее
https://www.jetbrains.com/help/idea/code-with-me.html
Было же уже какое-то время не ?
источник

e

error_404 in pro.jvm
Artjom Kalita
Было же уже какое-то время не ?
Я его месяц назад тоже видел. Этот плагин
источник

AE

Alexandr Emelyanov in pro.jvm
Artjom Kalita
Было же уже какое-то время не ?
Там все превью и превью, вот уже инструкцию выкатили
источник

A

Artjom Kalita in pro.jvm
Alexandr Emelyanov
Там все превью и превью, вот уже инструкцию выкатили
Я когда последний раз смотрел было в режиме превью и не работали шорткеи рефакторинга - экстратить метод и так далее не стороне того кто подключается
источник

MK

Marat Kalibekov in pro.jvm
Добрый день! Есть вопрос по spring webflux.

Есть такой вызов:

dataService
               .getDataById(id).log().map(r -> {
                   return new PacketResponse();
              })
               .repeatWhenEmpty(10, l -> {
                       return l.delayElements(Duration.ofSeconds(2)).map(c -> { log.info("{}", c); return c+1;});
               })
               ;


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

        Mockito
               .when(
                       dataService.getDataById(anyString())
               )
               .thenReturn(
                       Mono.empty(),
                       Mono.just(new PacketBean())
               )
       ;


Но при таком моке, просто до второго вызова не доходит. Результат мока постоянно empty.
источник

MK

Marat Kalibekov in pro.jvm
есть варианты в чем проблема?
источник

AK

Artem Kryga in pro.jvm
Всем привет, вопрос к тем, кто разбирается в транзацикциях на уровне тестов, такой вопрос, у меня есть тест класс в котором три теста, в каждом происходит запись в базу и вычитка с базы (поднимается H2 in memory), весит @Transactional на уровне класса, тоесть чистятся записи после каждого метода, но автоинкремент не чистится, тоесть если 2 теста отработает , и почистятся, база будет пустая, но если в третем методе делать запись в базу, то у нее будет id = 3, ВОПРОС - как чистить автоинкремент после отрабатывания каждого теста?
источник

ch

central hardware in pro.jvm
источник

b

borsch in pro.jvm
Artem Kryga
Всем привет, вопрос к тем, кто разбирается в транзацикциях на уровне тестов, такой вопрос, у меня есть тест класс в котором три теста, в каждом происходит запись в базу и вычитка с базы (поднимается H2 in memory), весит @Transactional на уровне класса, тоесть чистятся записи после каждого метода, но автоинкремент не чистится, тоесть если 2 теста отработает , и почистятся, база будет пустая, но если в третем методе делать запись в базу, то у нее будет id = 3, ВОПРОС - как чистить автоинкремент после отрабатывания каждого теста?
мы используем
ALTER SEQUENCE TABLE_NAME RESTART WITH 1000

public class SequenceResetTestExecutionListener extends AbstractTestExecutionListener {

   private static final String STATEMENT_TEMPLATE = "ALTER SEQUENCE %s RESTART WITH 1000";

   @Override
   public void beforeTestMethod(final TestContext testContext) {
       final JdbcTemplate jdbcTemplate = testContext.getApplicationContext().getBean(JdbcTemplate.class);
       final String[] resetStatements = jdbcTemplate.queryForList("SELECT * FROM INFORMATION_SCHEMA.SEQUENCES").stream()
           .map(sequence -> sequence.get("SEQUENCE_NAME"))
           .map(sequenceName -> String.format(STATEMENT_TEMPLATE, sequenceName))
           .toArray(String[]::new);
       if (resetStatements.length > 0) {
           jdbcTemplate.batchUpdate(resetStatements);
       }
   }

   @Override
   public int getOrder() {
       return 0;
   }
}


и тогда перед каждым тестом сиквесны "сбрасываются
источник

A

Artjom Kalita in pro.jvm
я бы тесты не завязывал на автоинкрементальное выражение
источник

b

borsch in pro.jvm
возможно то же можно зделать и в @Sql
источник

b

borsch in pro.jvm
Artjom Kalita
я бы тесты не завязывал на автоинкрементальное выражение
а как тогда FK проверить?)
источник

ch

central hardware in pro.jvm
borsch
а как тогда FK проверить?)
По имени связываемой сущности мб
источник

b

borsch in pro.jvm
?
источник

AE

Alexandr Emelyanov in pro.jvm
borsch
а как тогда FK проверить?)
Что ещё раз надо проверить?
источник

b

borsch in pro.jvm
Alexandr Emelyanov
Что ещё раз надо проверить?
два инсерта в БД. надо проверить, что сущность А имеет правильный FK на таблицу Б. FK ссилаеться на auto generated id таблицы Б
источник

b

borsch in pro.jvm
это просто пример кейса, когда нужно "предвидеть" автозгенероване значение
источник

AE

Alexandr Emelyanov in pro.jvm
Весьма странный кейс. Наверно таки надо проверять по данным, так ли сущность связана. Завязываться на генерируемый ид - плохая идея
источник