谁能解释Newtonsoft.Json.Linq.JToken
(来自 Json.NET 4.5)和Shouldly 1.1.1.1 之间的这种奇怪的交互?
这是完整的 C# 代码:
using Newtonsoft.Json.Linq;
using NUnit.Framework;
using Shouldly;
public class Tests
{
[Test]
public void this_test_passes()
{
JToken.Parse("{}").ShouldBe("hello");
}
}
注意:字符串"hello"
不是特殊的,它可以是任何字符串。
我猜这与隐式转换为某种类型有关,该类型覆盖Equals(...)
为所有字符串或其他东西返回true。但这是我能做的最好的,谁能解释这里到底发生了什么?
编辑:我已经为这个问题提交了一个补丁,如果它被合并到 master 中会再次更新。
更新:为下一个版本修复了问题... :) https://github.com/shouldly/shouldly/issues/65#issuecomment-34579229