From 61888765704a097d7a3f010db496fc087be67dce Mon Sep 17 00:00:00 2001 From: gewuyou <95328647+GeWuYou@users.noreply.github.com> Date: Sat, 25 Apr 2026 10:01:26 +0800 Subject: [PATCH] =?UTF-8?q?test(core-tests):=20=E8=A7=84=E8=8C=83=E5=AD=97?= =?UTF-8?q?=E7=AC=A6=E4=B8=B2=E6=AF=94=E8=BE=83=E6=96=AD=E8=A8=80=E5=86=99?= =?UTF-8?q?=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 优化 ContextAwareServiceExtensionsTests 中的字符串相等断言,显式使用 Ordinal 比较 - 优化 RollingFileAppenderTests 中的 StartsWith、EndsWith、排序比较与文件名判等写法,补充 Ordinal 比较并保持测试语义不变 --- .../Logging/RollingFileAppenderTests.cs | 16 ++++++++++++---- .../Rule/ContextAwareServiceExtensionsTests.cs | 14 +++++++------- 2 files changed, 19 insertions(+), 11 deletions(-) diff --git a/GFramework.Core.Tests/Logging/RollingFileAppenderTests.cs b/GFramework.Core.Tests/Logging/RollingFileAppenderTests.cs index 7efdd02f..e487f188 100644 --- a/GFramework.Core.Tests/Logging/RollingFileAppenderTests.cs +++ b/GFramework.Core.Tests/Logging/RollingFileAppenderTests.cs @@ -68,7 +68,7 @@ public class RollingFileAppenderTests } // 检查是否生成了多个文件 - var files = Directory.GetFiles(_testDir, "*.log").OrderBy(f => f).ToArray(); + var files = Directory.GetFiles(_testDir, "*.log").OrderBy(f => f, System.StringComparer.Ordinal).ToArray(); Assert.That(files.Length, Is.GreaterThan(1)); } @@ -108,13 +108,21 @@ public class RollingFileAppenderTests appender.Flush(); } - var files = Directory.GetFiles(_testDir, "*.log").Select(Path.GetFileName).OrderBy(f => f).ToArray(); + var files = Directory.GetFiles(_testDir, "*.log") + .Select(static path => Path.GetFileName(path) ?? string.Empty) + .OrderBy(f => f, System.StringComparer.Ordinal) + .ToArray(); // 应该有 app.log, app.1.log, app.2.log 等 Assert.That(files, Does.Contain("app.log")); if (files.Length > 1) { - Assert.That(files.Any(f => f.StartsWith("app.") && f.EndsWith(".log") && f != "app.log"), Is.True); + Assert.That( + files.Any(f => + f.StartsWith("app.", System.StringComparison.Ordinal) && + f.EndsWith(".log", System.StringComparison.Ordinal) && + !string.Equals(f, "app.log", System.StringComparison.Ordinal)), + Is.True); } } @@ -163,4 +171,4 @@ public class RollingFileAppenderTests var content = File.ReadAllText(_testFilePath); Assert.That(content, Does.Contain("Test message")); } -} \ No newline at end of file +} diff --git a/GFramework.Core.Tests/Rule/ContextAwareServiceExtensionsTests.cs b/GFramework.Core.Tests/Rule/ContextAwareServiceExtensionsTests.cs index b0f066fb..5035903b 100644 --- a/GFramework.Core.Tests/Rule/ContextAwareServiceExtensionsTests.cs +++ b/GFramework.Core.Tests/Rule/ContextAwareServiceExtensionsTests.cs @@ -181,8 +181,8 @@ public class ContextAwareServiceExtensionsTests // Assert Assert.That(results, Has.Count.GreaterThanOrEqualTo(2)); - Assert.That(results.Any(s => s is TestSystem ts && ts.Name == "System1"), Is.True); - Assert.That(results.Any(s => s is TestSystem ts && ts.Name == "System2"), Is.True); + Assert.That(results.Any(s => s is TestSystem ts && string.Equals(ts.Name, "System1", System.StringComparison.Ordinal)), Is.True); + Assert.That(results.Any(s => s is TestSystem ts && string.Equals(ts.Name, "System2", System.StringComparison.Ordinal)), Is.True); } [Test] @@ -200,8 +200,8 @@ public class ContextAwareServiceExtensionsTests // Assert Assert.That(results, Has.Count.EqualTo(2)); - Assert.That(results.Any(m => m.Name == "Model1"), Is.True); - Assert.That(results.Any(m => m.Name == "Model2"), Is.True); + Assert.That(results.Any(m => string.Equals(m.Name, "Model1", System.StringComparison.Ordinal)), Is.True); + Assert.That(results.Any(m => string.Equals(m.Name, "Model2", System.StringComparison.Ordinal)), Is.True); } [Test] @@ -219,8 +219,8 @@ public class ContextAwareServiceExtensionsTests // Assert Assert.That(results, Has.Count.EqualTo(2)); - Assert.That(results.Any(u => u.Name == "Utility1"), Is.True); - Assert.That(results.Any(u => u.Name == "Utility2"), Is.True); + Assert.That(results.Any(u => string.Equals(u.Name, "Utility1", System.StringComparison.Ordinal)), Is.True); + Assert.That(results.Any(u => string.Equals(u.Name, "Utility2", System.StringComparison.Ordinal)), Is.True); } [Test] @@ -304,4 +304,4 @@ public class ContextAwareServiceExtensionsTests private class TestContextAware : ContextAwareBase { } -} \ No newline at end of file +}