в весенней загрузке 2.1 многие тестовые срезы больше не разрешены из-за нескольких @BootstrapWith - PullRequest
0 голосов
/ 27 сентября 2018

Я попытался обновить вкусный бутерброд, состоящий из двух тестовых срезов (в моем случае @JsonTest и @JdbcTest, между ними хрустящий тестовый код), добавив в него вкус весенней загрузки 2.1.Но, похоже, это не было большим успехом.Я не могу комментировать свои тесты многими @ ... Test, поскольку каждый из них теперь имеет свой собственный XxxTestContextBootstrapper.Раньше он работал, когда все они использовали один и тот же SpringBootTestContextBootstrapper.

@RunWith(SpringRunner.class)
@JdbcTest
@JsonTest
public class Test {
  @Test
  public void test() { System.out.printn("Hello, World !"); }
}

Ошибка, которую я получаю от BootstrapUtils, нелегальна: ошибка конфигурации: найдено несколько объявлений @BootstrapWith для тестового класса

Я понимаю, что явозможно, здесь что-то не так, но есть ли простой способ загрузить контексты Json и Jdbc?

1 Ответ

0 голосов
/ 28 октября 2018

Аннотации тестовых срезов на самом деле не разработаны таким образом.Боюсь, ваш код работал в Spring Boot 2.0 только по счастливой случайности.

Вам действительно нужно выбрать только одну @...Test аннотацию и затем объединить ее с одной или несколькими @AutoConfigure... аннотациями.Для приведенного выше примера я бы написал:

@RunWith(SpringRunner.class)
@JdbcTest
@AutoConfigureJson
@AutoConfigureJsonTesters
public class Test {

  @Test
  public void test() { 
    System.out.println("Hello, World !"); 
  }

}
...