Я использую Hamcrest для утверждения в моих тестах. Приведенный ниже фрагмент работает для других сравнений строк, однако приведенный ниже оператор не выполняется из-за некоторого случайного символа (?) На 0-м месте в массиве значений объекта, как показано на прилагаемом изображении ниже.
assertThat("failure, Publication did not match", book.getPublication(), is("Bloomsbury Publishing"));
Вот результат:
java.lang.AssertionError: failure, Publication did not match
Expected: is "Bloomsbury Publishing"
but: was "Bloomsbury Publishing"
Expected :Bloomsbury Publishing
Actual :Bloomsbury Publishing
Если это помогает, Book - это расширенная сущность JPA из сущности Product, в которой у продукта есть аннотация @Inheritance (стратегии = InheritanceType.JOINED).
Класс продукта
private long id;
private String prodName;
private BigDecimal price;
Книга Класс
private String genre;
private String author;
private String publication;
В моих тестовых данных в data.sqlУ меня есть:
INSERT INTO PRODUCT(ID, PROD_NAME, PRICE) VALUES (1, 'Harry Potter', 200.55);
INSERT INTO PRODUCT(ID, PROD_NAME, PRICE) VALUES (2, 'Chhawa', 450.45);
INSERT INTO PRODUCT(ID, PROD_NAME, PRICE) VALUES (3, 'Chatrapati Shivaji Maharaj', 1000.00);
INSERT INTO PRODUCT(ID, PROD_NAME, PRICE) VALUES (4, 'Asa Mi Asami', 99.99);
INSERT INTO BOOK(ID, GENRE, AUTHOR, PUBLICATION) VALUES (1, 'Contemporary Fantasy', 'J. K. Rollings', 'Bloomsbury Publishing');
INSERT INTO BOOK(ID, GENRE, AUTHOR, PUBLICATION) VALUES (2, 'Action', 'Shivaji Savant', 'Mehta Publishing House');
INSERT INTO BOOK(ID, GENRE, AUTHOR, PUBLICATION) VALUES (3, 'Action', 'Krishanrao Arjun Kelusakar', 'Saraswati Publishing Co.Pvt.Ltd');
INSERT INTO BOOK(ID, GENRE, AUTHOR, PUBLICATION) VALUES (4, 'Comedy', 'Pu La Deshpande', 'SANSKRUTI BOOK HOUSE');
И я расшифровываю json, возвращаемый @GetMapping(path = "/products/{id}")
, например:
ResponseEntity<Book> response = restTemplate.exchange(
productBaseUrl,
HttpMethod.GET,
null,
Book.class);
Book book = response.getBody();
Таинственно, я получаю этот '\u200E' 8206
символ Unicode только для идентификатора= 1
Вот ссылка на всю базу кода: https://bitbucket.org/tyro_02/demo.cart/