using Newtonsoft.Json.Linq;
public static void Main()
var actual = JToken.Parse(@"{ ""key1"" : ""pippo"",""key2"":""bla bla"" }");
var expected = JToken.Parse(@"{ ""key1"" : ""pippo"",""key2"":""bla1 bla1"" }");
actual.Should().BeEquivalentTo(expected, options => options.Using<JProperty>(prop =>
Console.WriteLine($" prop {prop} : ");
Console.WriteLine($" prop.Subject {prop.Subject} : ");
Console.WriteLine($" prop.Expectation {prop.Expectation} : ");
if (prop.Subject.Path == "traceId")
prop.Subject.Should().BeEquivalentTo(prop.Expectation);
}).WhenTypeIs<JProperty>());