之前写过一篇文章简单介绍了jsonunit 这个非常棒的json断言工具。 测试断言之接口测试断言利器jsonunit 在最近的测试项目中,发现有个接口返回值的errorMsg中包含了时间信息,需要用到正则匹配的断言。 由于官网关于正则匹配的案例只有一个,尝试多写了几个备用 关 package com.github.jsonunit; import org.junit.jupiter.api.Test; import static net.javacrumbs.jsonunit.assertj.JsonAssertions.assertThatJson; public class JsonUnitTest {
JsonUnit 断言 JSON <dependency> <groupId>net.javacrumbs.json-unit</groupId> <artifactId>json-unit-assertj artifactId> <version>2.13.0</version> <scope>test</scope> </dependency> import static net.javacrumbs.jsonunit.assertj.JsonAssertions.assertThatJson ; import static net.javacrumbs.jsonunit.assertj.JsonAssertions.json; assertThatJson("{\"a\":1, \"b\"
工具-JsonUnit 搜索了一下GitHub, 发现了一个Json比较的工具JsonUnit ,看上去比较吸引人,准备后续在项目中试试。 摘录几个feature过来 利用AssertJ实现前述需求 import static net.javacrumbs.jsonunit.assertj.JsonAssertions.assertThatJson ; import static net.javacrumbs.jsonunit.assertj.JsonAssertions.json; ... // compares two JSON documents
import static net.javacrumbs.jsonunit.assertj.JsonAssertions.assertThatJson; import static net.javacrumbs.jsonunit.assertj.JsonAssertions.json JSONUnit提供了 ${json-unit.ignore} 的占位符,来实现这一功能。 JsonUnit 提供了whenIgnoringPaths 的配置选项来实现这一需求。 JsonUnit使用${json-unit.regex}前缀来标志正则表达式。 于是JsonUnit提供了Options功能,用户无需修改预期结果或者实际结果,在断言过程中可由JsonUnit根据用户给出的选项来处理忽略等操作。
io.metersphere.commons.utils.SessionUtils; import io.metersphere.i18n.Translator; import net.javacrumbs.jsonunit.core.Option org.springframework.test.context.junit.jupiter.SpringExtension; import java.util.ArrayList; import java.util.List; import static net.javacrumbs.jsonunit.assertj.JsonAssertions.assertThatJson
io.metersphere.aspect.MapperRecord; import io.metersphere.aspect.MockDBExtension; import net.javacrumbs.jsonunit.core.Option import org.junit.jupiter.api.extension.ExtendWith; import java.util.List; import static net.javacrumbs.jsonunit.assertj.JsonAssertions.assertThatJson
</artifactId> </exclusion> </exclusions> </dependency> 以下将介绍如何使用MockMVC+Mockito+JUnit5+JsonUnit com.testlink4j.controller; import com.testlink4j.service.KeywordsService; import static net.javacrumbs.jsonunit.assertj.JsonAssertions.assertThatJson
java.time.LocalDateTime; import java.util.HashSet; import java.util.Set; import static net.javacrumbs.jsonunit.fluent.JsonFluentAssert.assertThatJson
Security Bugs 1.12.0( findsecbugs-plugin )、Apache RAT (发布审核工具)Gradle Plugin 0.7.1( creadur-rat-gradle )和 JsonUnit