fix: flakiness in org.json.junit.JSONObjectTest#valueToString

This commit is contained in:
simonh5 2023-09-19 14:28:06 -05:00
parent 01727fd0ed
commit ca88454f1c
3 changed files with 13 additions and 4 deletions

View File

@ -23,6 +23,7 @@ dependencies {
testImplementation 'junit:junit:4.13.1' testImplementation 'junit:junit:4.13.1'
testImplementation 'com.jayway.jsonpath:json-path:2.1.0' testImplementation 'com.jayway.jsonpath:json-path:2.1.0'
testImplementation 'org.mockito:mockito-core:4.2.0' testImplementation 'org.mockito:mockito-core:4.2.0'
testImplementation 'org.skyscreamer:jsonassert:1.5.1'
} }
subprojects { subprojects {

View File

@ -72,6 +72,13 @@
<version>4.2.0</version> <version>4.2.0</version>
<scope>test</scope> <scope>test</scope>
</dependency> </dependency>
<!-- https://mvnrepository.com/artifact/org.skyscreamer/jsonassert -->
<dependency>
<groupId>org.skyscreamer</groupId>
<artifactId>jsonassert</artifactId>
<version>1.5.1</version>
<scope>test</scope>
</dependency>
</dependencies> </dependencies>
<build> <build>

View File

@ -57,6 +57,7 @@ import org.junit.Test;
import com.jayway.jsonpath.Configuration; import com.jayway.jsonpath.Configuration;
import com.jayway.jsonpath.JsonPath; import com.jayway.jsonpath.JsonPath;
import org.skyscreamer.jsonassert.JSONAssert;
/** /**
* JSONObject, along with JSONArray, are the central classes of the reference app. * JSONObject, along with JSONArray, are the central classes of the reference app.
@ -2025,8 +2026,8 @@ public class JSONObjectTest {
"\"key3\":\"val3\""+ "\"key3\":\"val3\""+
"}"; "}";
JSONObject jsonObject = new JSONObject(jsonObjectStr); JSONObject jsonObject = new JSONObject(jsonObjectStr);
assertTrue("jsonObject valueToString() incorrect", JSONAssert.assertEquals("jsonObject valueToString() incorrect",
JSONObject.valueToString(jsonObject).equals(jsonObject.toString())); JSONObject.valueToString(jsonObject), jsonObject.toString(), false);
String jsonArrayStr = String jsonArrayStr =
"[1,2,3]"; "[1,2,3]";
JSONArray jsonArray = new JSONArray(jsonArrayStr); JSONArray jsonArray = new JSONArray(jsonArrayStr);
@ -2036,8 +2037,8 @@ public class JSONObjectTest {
map.put("key1", "val1"); map.put("key1", "val1");
map.put("key2", "val2"); map.put("key2", "val2");
map.put("key3", "val3"); map.put("key3", "val3");
assertTrue("map valueToString() incorrect", JSONAssert.assertEquals("map valueToString() incorrect",
jsonObject.toString().equals(JSONObject.valueToString(map))); jsonObject.toString(), JSONObject.valueToString(map), false);
Collection<Integer> collection = new ArrayList<Integer>(); Collection<Integer> collection = new ArrayList<Integer>();
collection.add(Integer.valueOf(1)); collection.add(Integer.valueOf(1));
collection.add(Integer.valueOf(2)); collection.add(Integer.valueOf(2));