如何使用 FluentAssertions 比较不区分大小写的字符串?C#

Krz*_*nek 4 c# fluent-assertions

如何使用 FluentAssertions 轻松比较字符串不区分大小写?

就像是:

symbol.Should().Be(expectedSymbol, StringComparison.InvariantCultureIgnoreCase);

编辑:关于可能的重复和代码: symbol.Should().BeEquivalentTo(expectedSymbol);

它正在比较使用 CurrentCulture。它会在像土耳其文化这样的情况下刹车。在哪里 Thread.CurrentThread.CurrentCulture = new CultureInfo("tr-TR", false); string upper = "in".ToUpper(); // upper == "?N" "in".Should().BeEquivalentTo("In"); // It will fail

所以“ StringComparison.InvariantCultureIgnoreCase ”部分在这里至关重要。

Nik*_*wal 7

您可以使用

symbol.ToLower().Should().Be(expectedSymbol.ToLower());
Run Code Online (Sandbox Code Playgroud)

或者

而不是Be使用BeEquivalentTo

symbol.Should().BeEquivalentTo(expectedSymbol);
Run Code Online (Sandbox Code Playgroud)

BeEquivalentTo 元数据状态

断言一个字符串与另一个字符串完全相同,包括任何前导或尾随空格,大小写除外。