json测试
entity
public class Book {
private Integer id;
private String name;
private String author;
//get set tostring
}
自己写一个Json文件
{"id": 99,"name": "红楼梦","author": "曹雪芹"}
打包会忽略掉json
@RunWith(SpringRunner.class)
//@SpringBootTest
@org.springframework.boot.test.autoconfigure.json.JsonTest
public class JsonTest {
@Autowired
JacksonTester<Book> jacksonTester;
//测试序列化
@Test
public void contextLoads() throws IOException {
Book book = new Book();
book.setId(99);
book.setAuthor("曹雪芹");
book.setName("红楼梦");
Assertions.assertThat(jacksonTester.write(book))
.isEqualToJson("book.json");
//判断生成的字符串里面有没有一个key叫name
Assertions.assertThat(jacksonTester.write(book))
.hasJsonPathStringValue("@.name");
Assertions.assertThat(jacksonTester.write(book))
.extractingJsonPathStringValue("@.name")
.isEqualTo("红楼梦");
}
/**
* 测试json反序列化
*/
@Test
public void test2() throws IOException {
String content="{\"id\": 99,\"name\": \"红楼梦\",\"author\": \"曹雪芹\"}";
Assertions.assertThat(jacksonTester.parseObject(content).getName()).isEqualTo("红楼梦");
}
}