返回提交历史
Modified
XFEExtension.NetCore.XUnit.Test/Program.cs
+8
-4
Modified
XFEExtension.NetCore.XUnit/Assertions/Assert.cs
+1
-1
Modified
XFEExtension.NetCore.XUnit/Attributes/TestAttributes.cs
+3
-3
Modified
XFEExtension.NetCore.XUnit/Benchmarking/BenchmarkClock.cs
+1
-1
Modified
XFEExtension.NetCore.XUnit/Benchmarking/BenchmarkEngine.cs
+2
-1
Modified
XFEExtension.NetCore.XUnit/Benchmarking/BenchmarkStatisticsCalculator.cs
+3
-1
Modified
XFEExtension.NetCore.XUnit/Benchmarking/EnvironmentInspector.cs
+2
-1
Modified
XFEExtension.NetCore.XUnit/Compatibility/XFECode.cs
+8
-6
Modified
XFEExtension.NetCore.XUnit/Execution/AsyncLocalConsoleCapture.cs
+1
-1
Modified
XFEExtension.NetCore.XUnit/Execution/RegressionGate.cs
+3
-1
Modified
XFEExtension.NetCore.XUnit/Execution/TestExecutor.cs
+3
-1
Modified
XFEExtension.NetCore.XUnit/Execution/WorkerProcess.cs
+3
-1
Modified
XFEExtension.NetCore.XUnit/Execution/XfeRunner.cs
+5
-2
Modified
XFEExtension.NetCore.XUnit/Reporting/BuiltInReporters.cs
+2
-1
Modified
XFEExtension.NetCore.XUnit/Runtime/Contracts.cs
+1
-1
Modified
XFEExtension.NetCore.XUnit/Runtime/Descriptors.cs
+1
-1
Modified
XFEExtension.NetCore.XUnit/Runtime/Results.cs
+1
-1
Modified
XFEExtension.NetCore.XUnit/Runtime/Settings.cs
+1
-1
XFEstudio/XFEExtension.NetCore.XUnit
重构命名空间与类型,提升结构清晰度
对 XFEExtension.NetCore.XUnit 项目进行大规模命名空间重构和类型重命名:断言、基准测试、执行、报告等类型分别迁移至专属命名空间,XfeRunner 重命名为 XFERunner 并同步更新引用,修正 XML 注释,调整兼容性辅助类实现,优化代码结构和职责划分。
dacf58b
代码差异
18 个文件
+49
-29
@@ -8,6 +8,10 @@ using Microsoft.CodeAnalysis.Text;
8
8
using XFEExtension.NetCore.XUnit.Analyzer.CodeFix;
9
9
using XFEExtension.NetCore.XUnit.Analyzer.Diagnostics;
10
10
using XFEExtension.NetCore.XUnit.Analyzer.Generator;
11
using XFEExtension.NetCore.XUnit.Assertions;
12
using XFEExtension.NetCore.XUnit.Benchmarking;
13
using XFEExtension.NetCore.XUnit.Execution;
14
using XFEExtension.NetCore.XUnit.Runtime;
11
15
12
16
[assembly: XFEExtension.NetCore.XUnit.Attributes.UseExtension(typeof(XFEExtension.NetCore.XUnit.Test.TrackingActivator))]
13
17
@@ -158,15 +162,15 @@ internal sealed class WorkerProcessTests
158
162
[Test]
159
163
public async Task TerminatesHardTimeoutWorker()
160
164
{
161
var exitCode = await XfeRunner.RunAsync(["--tests", "--explicit", "--filter", nameof(HardTimeoutProbe), "--report", "none"]);
162
Assert.Equal(XfeRunner.TestFailureExitCode, exitCode);
165
var exitCode = await XFERunner.RunAsync(["--tests", "--explicit", "--filter", nameof(HardTimeoutProbe), "--report", "none"]);
166
Assert.Equal(XFERunner.TestFailureExitCode, exitCode);
163
167
}
164
168
165
169
[Test]
166
170
public async Task ReportsCrashedWorker()
167
171
{
168
var exitCode = await XfeRunner.RunAsync(["--tests", "--explicit", "--filter", nameof(WorkerCrashProbe), "--report", "none"]);
169
Assert.Equal(XfeRunner.WorkerCrashExitCode, exitCode);
172
var exitCode = await XFERunner.RunAsync(["--tests", "--explicit", "--filter", nameof(WorkerCrashProbe), "--report", "none"]);
173
Assert.Equal(XFERunner.WorkerCrashExitCode, exitCode);
170
174
}
171
175
172
176
[Test]
@@ -1,7 +1,7 @@
1
1
using System.Collections;
2
2
using System.Diagnostics.CodeAnalysis;
3
3
4
namespace XFEExtension.NetCore.XUnit;
4
namespace XFEExtension.NetCore.XUnit.Assertions;
5
5
6
6
/// <summary>
7
7
/// 表示 XFE 强类型断言未满足时产生的测试失败。
@@ -37,7 +37,7 @@ public sealed class TestCaseAttribute(params object?[] arguments) : Attribute
37
37
}
38
38
39
39
/// <summary>
40
/// 从静态字段、属性、无参方法或 <see cref="XFEExtension.NetCore.XUnit.ITestCaseDataSource"/> 获取测试数据。
40
/// 从静态字段、属性、无参方法或 <see cref="Runtime.ITestCaseDataSource"/> 获取测试数据。
41
41
/// </summary>
42
42
/// <param name="memberName">提供数据的静态成员名称。</param>
43
43
[AttributeUsage(AttributeTargets.Method, AllowMultiple = true)]
@@ -191,8 +191,8 @@ public sealed class IsolatedAttribute : Attribute;
191
191
/// 在测试程序集上注册运行时扩展实现。
192
192
/// </summary>
193
193
/// <param name="extensionType">
194
/// 实现 <see cref="XFEExtension.NetCore.XUnit.ITestReporter"/>、<see cref="XFEExtension.NetCore.XUnit.IBenchmarkExporter"/>
195
/// 或 <see cref="XFEExtension.NetCore.XUnit.ITestActivator"/> 的类型。
194
/// 实现 <see cref="Runtime.ITestReporter"/>、<see cref="Runtime.IBenchmarkExporter"/>
195
/// 或 <see cref="Runtime.ITestActivator"/> 的类型。
196
196
/// </param>
197
197
[AttributeUsage(AttributeTargets.Assembly, AllowMultiple = true)]
198
198
public sealed class UseExtensionAttribute(Type extensionType) : Attribute
@@ -1,6 +1,6 @@
1
1
using System.Diagnostics;
2
2
3
namespace XFEExtension.NetCore.XUnit;
3
namespace XFEExtension.NetCore.XUnit.Benchmarking;
4
4
5
5
/// <summary>
6
6
/// 抽象基准引擎使用的单调高精度时钟,便于替换真实时钟和注入确定性测试时钟。
@@ -1,6 +1,7 @@
1
1
using XFEExtension.NetCore.XUnit.Attributes;
2
using XFEExtension.NetCore.XUnit.Runtime;
2
3
3
namespace XFEExtension.NetCore.XUnit;
4
namespace XFEExtension.NetCore.XUnit.Benchmarking;
4
5
5
6
/// <summary>
6
7
/// 执行单个基准描述符的校准、预热、开销测量、实际采样和内存统计流程。
@@ -1,4 +1,6 @@
1
namespace XFEExtension.NetCore.XUnit;
1
using XFEExtension.NetCore.XUnit.Runtime;
2
3
namespace XFEExtension.NetCore.XUnit.Benchmarking;
2
4
3
5
/// <summary>
4
6
/// 提供基准样本的异常值识别、描述统计、置信区间、预热稳定性和趋势计算。
@@ -4,8 +4,9 @@ using System.Runtime;
4
4
using System.Runtime.InteropServices;
5
5
using System.Security.Cryptography;
6
6
using System.Text;
7
using XFEExtension.NetCore.XUnit.Runtime;
7
8
8
namespace XFEExtension.NetCore.XUnit;
9
namespace XFEExtension.NetCore.XUnit.Benchmarking;
9
10
10
11
internal static class EnvironmentInspector
11
12
{
@@ -1,9 +1,11 @@
1
1
using System.Diagnostics;
2
using XFEExtension.NetCore.XUnit.Assertions;
3
using XFEExtension.NetCore.XUnit.Execution;
2
4
3
namespace XFEExtension.NetCore.XUnit;
5
namespace XFEExtension.NetCore.XUnit.Compatibility;
4
6
5
7
/// <summary>
6
/// 提供 3.x 源代码迁移所需的旧测试基类和辅助方法;新代码应直接使用 <see cref="XfeRunner"/>、
8
/// 提供 3.x 源代码迁移所需的旧测试基类和辅助方法;新代码应直接使用 <see cref="XFERunner"/>、
7
9
/// <see cref="Assert"/> 和 <see cref="Attributes.BenchmarkAttribute"/>。
8
10
/// </summary>
9
11
[Obsolete("Use XfeRunner, Assert and BenchmarkAttribute. XFECode will be removed in XUnit 5.0.")]
@@ -14,7 +16,7 @@ public abstract class XFECode
14
16
/// </summary>
15
17
/// <returns>表示整个运行完成的任务。</returns>
16
18
[Obsolete("Use generated XfeRunner.RunAsync entry points.")]
17
public static async Task RunTest() => Environment.ExitCode = await XfeRunner.RunAsync(Environment.GetCommandLineArgs().Skip(1).ToArray()).ConfigureAwait(false);
19
public static async Task RunTest() => Environment.ExitCode = await XFERunner.RunAsync(Environment.GetCommandLineArgs().Skip(1).ToArray()).ConfigureAwait(false);
18
20
19
21
/// <summary>
20
22
/// 对委托执行一次墙钟计时;该兼容方法不会校准、预热或统计采样,不能替代正式基准。
@@ -61,7 +63,7 @@ public abstract class XFECode
61
63
[Obsolete("Use Assert.True.")]
62
64
public static bool Assert(bool condition, string? message = null)
63
65
{
64
global::XFEExtension.NetCore.XUnit.Assert.True(condition, message);
66
global::XFEExtension.NetCore.XUnit.Assertions.Assert.True(condition, message);
65
67
return true;
66
68
}
67
69
@@ -75,7 +77,7 @@ public abstract class XFECode
75
77
[Obsolete("Use Assert.False.")]
76
78
public static bool AssertF(bool condition, string? message = null)
77
79
{
78
global::XFEExtension.NetCore.XUnit.Assert.False(condition, message);
80
global::XFEExtension.NetCore.XUnit.Assertions.Assert.False(condition, message);
79
81
return true;
80
82
}
81
83
@@ -91,7 +93,7 @@ public abstract class XFECode
91
93
[Obsolete("Use Assert.Equal.")]
92
94
public static bool AssertE<T>(T expected, T actual, string? message = null)
93
95
{
94
global::XFEExtension.NetCore.XUnit.Assert.Equal(expected, actual, message);
96
global::XFEExtension.NetCore.XUnit.Assertions.Assert.Equal(expected, actual, message);
95
97
return true;
96
98
}
97
99
@@ -1,6 +1,6 @@
1
1
using System.Text;
2
2
3
namespace XFEExtension.NetCore.XUnit;
3
namespace XFEExtension.NetCore.XUnit.Execution;
4
4
5
5
internal sealed class AsyncLocalConsoleCapture : TextWriter
6
6
{
@@ -1,4 +1,6 @@
1
namespace XFEExtension.NetCore.XUnit;
1
using XFEExtension.NetCore.XUnit.Runtime;
2
3
namespace XFEExtension.NetCore.XUnit.Execution;
2
4
3
5
internal static class RegressionGate
4
6
{
@@ -1,7 +1,9 @@
1
1
using System.Diagnostics;
2
2
using System.Runtime.ExceptionServices;
3
using XFEExtension.NetCore.XUnit.Benchmarking;
4
using XFEExtension.NetCore.XUnit.Runtime;
3
5
4
namespace XFEExtension.NetCore.XUnit;
6
namespace XFEExtension.NetCore.XUnit.Execution;
5
7
6
8
internal sealed class TestExecutor
7
9
{
@@ -1,7 +1,9 @@
1
1
using System.Diagnostics;
2
2
using System.Reflection;
3
using XFEExtension.NetCore.XUnit.Reporting;
4
using XFEExtension.NetCore.XUnit.Runtime;
3
5
4
namespace XFEExtension.NetCore.XUnit;
6
namespace XFEExtension.NetCore.XUnit.Execution;
5
7
6
8
internal static class WorkerProcess
7
9
{