datajpatest + springframework test Sql кодирование специальных символов не работает в Windows - PullRequest
0 голосов
/ 13 марта 2019

В Windows (+ Maven) у меня проблема с é из Métro слова.Мой файл sql закодирован в UTF-8.У меня действительно есть эта проблема на сервере Unix.

Моя ошибка Maven:

expected:<M[é]tro Ligne 6, station...> but was:<M[é]tro Ligne 6, station...>

Мой код JUnit:

@RunWith(SpringRunner.class)
@DataJpaTest
@ActiveProfiles("test")
public class MyRepositoryTest {

    @Autowired
    private MyRepository myRepository;

    @Test
    @Sql("/data/myRepositoryTest.sql")
    public void testFindById() {
        Optional<My> my= myRepository.findById(99999);
        assertTrue(my.isPresent());
        assertEquals("Métro Ligne 6, station Bel-Air", my.get().getItinerary());
    }

}

Мой файл sql:

INSERT INTO MY(ID, NAME, CODE, ITINERARY)
  VALUES (99999, 'foo', 'abc', 'Métro Ligne 6, station Bel-Air');

1 Ответ

1 голос
/ 13 марта 2019

Кодировка по умолчанию берется из операционной системы, поэтому проблема.

Установите кодировку файла SQL следующим образом:

@Sql(value = "/data/myRepositoryTest.sql", config = @SqlConfig(encoding = "utf-8"))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...