diff --git a/swagger/swagger-generator/generator-core/pom.xml b/swagger/swagger-generator/generator-core/pom.xml
index 768f6ecd054..4b032856f05 100644
--- a/swagger/swagger-generator/generator-core/pom.xml
+++ b/swagger/swagger-generator/generator-core/pom.xml
@@ -78,5 +78,10 @@
spring-web
test
+
+ org.skyscreamer
+ jsonassert
+ 1.5.1
+
diff --git a/swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/generator/core/unittest/UnitTestSwaggerUtils.java b/swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/generator/core/unittest/UnitTestSwaggerUtils.java
index 9448484b083..54ee6903f77 100644
--- a/swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/generator/core/unittest/UnitTestSwaggerUtils.java
+++ b/swagger/swagger-generator/generator-core/src/main/java/org/apache/servicecomb/swagger/generator/core/unittest/UnitTestSwaggerUtils.java
@@ -25,9 +25,13 @@
import org.apache.commons.io.IOUtils;
import org.apache.servicecomb.swagger.generator.SwaggerGenerator;
import org.junit.jupiter.api.Assertions;
+import org.skyscreamer.jsonassert.JSONAssert;
+import org.skyscreamer.jsonassert.JSONCompareMode;
import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.ObjectWriter;
+import com.fasterxml.jackson.dataformat.yaml.YAMLFactory;
import io.swagger.v3.core.util.Yaml;
import io.swagger.v3.oas.models.OpenAPI;
@@ -81,8 +85,14 @@ public static SwaggerGenerator testSwagger(String resPath, Class> cls, String.
expectSchema = expectSchema.substring(offset + 4);
}
- if (!Objects.equals(expectSchema, schema)) {
- Assertions.assertEquals(expectSchema, schema);
+ try {
+ ObjectMapper yaml = new ObjectMapper(new YAMLFactory());
+ String expectedJson = yaml.readTree(expectSchema).toString();
+ String actualJson = yaml.readTree(schema).toString();
+
+ JSONAssert.assertEquals(expectedJson, actualJson, JSONCompareMode.NON_EXTENSIBLE);
+ } catch (Exception e) {
+ Assertions.fail("Failed to parse/compare OpenAPI YAML: " + e.getMessage(), e);
}
return generator;