【问题标题】:MSTest V2 Collection assert with ignore case忽略大小写的 MSTest V2 集合断言
【发布时间】:2018-11-30 22:56:15
【问题描述】:

有没有办法使用 MSTestV2 对集合进行断言并忽略大小写比较?

例如,使用 NUnit 3 断言我可以这样做:

Assert.That(subset, Is.SubsetOf(superset).IgnoreCase, missingColumnsMessage);

【问题讨论】:

    标签: unit-testing mstest


    【解决方案1】:

    好的,这是一个可能的解决方案:

    public static void IsSubset(this CollectionAssert assert, 
            ICollection<string> subset, ICollection<string> superset, 
            string message = null, IEqualityComparer<string> comparer = null)
        {
            var diff = subset.Except(superset, comparer ?? StringComparer.CurrentCulture).ToList();
            if (diff.Any())
            {
                var msg = message 
                          ?? $"These values are missing in the superset: {string.Join(", ", diff)}";
                throw new AssertFailedException(msg);
            }
        }
    

    用法:

    CollectionAssert.That.IsSubset(subset, superset, "Failed!", 
                StringComparer.InvariantCultureIgnoreCase);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-10-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多