【问题标题】:Is there a way to scrub (inline) Guids from JSON properties?有没有办法从 JSON 属性中清除(内联)Guid?
【发布时间】:2022-11-06 16:41:01
【问题描述】:

我的代码在 JSON 中生成一个映射,其中属性名称是内联 Guid。 在验证输出时,它总是会生成一个新结果,因为属性名称中的 Guid 不会被清除。

[Test]
public Task GuidIsScrubbed()
{
    const string serialized = @"{
        ""GuidAsValue"": ""ee7f4fa8-48b4-48b7-b962-586870a09d4e"",
            ""EmbeddedGuidAsValue"": ""Something(ee7f4fa8-48b4-48b7-b962-586870a09d4e)Something"",
            ""ee7f4fa8-48b4-48b7-b962-586870a09d4e"": ""GuidAsKey"",
            ""Something(ee7f4fa8-48b4-48b7-b962-586870a09d4e)Something"": ""EmbeddedGuidAsKey""
        }";

    var verifySettings = new VerifySettings();
    verifySettings.ScrubInlineGuids();
    return Verifier.VerifyJson(serialized, verifySettings);
}

生成以下输出

{
  GuidAsValue: Guid_1,
  EmbeddedGuidAsValue: Something(Guid_1)Something,
  ee7f4fa8-48b4-48b7-b962-586870a09d4e: GuidAsKey,
  Something(ee7f4fa8-48b4-48b7-b962-586870a09d4e)Something: EmbeddedGuidAsKey
}

添加我自己非常简单的洗涤器 verifySettings.ScrubLinesWithReplace(x => x.Replace("ee7f4fa8-48b4-48b7-b962-586870a09d4e", "MyGuid")) 也只替换值中的 Guid,所以它似乎不是内置 Guid 洗涤器的问题,而是我缺少的设置。

有没有办法直接使用 VerifyTests 从属性名称中清除 Guid? 现在,在将其传递给验证者之前,我已经清除了所有 Guid。

【问题讨论】:

    标签: verify verify-tests


    【解决方案1】:

    目前,不,不支持

    【讨论】:

      猜你喜欢
      • 2020-07-01
      • 2022-08-23
      • 2015-08-19
      • 2023-01-11
      • 2016-01-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-26
      相关资源
      最近更新 更多