XFEExtension
【DLL】XFE各类拓展是一个C#的DLL库,旨在优化C#代码中常用语句的使用,并提供更简洁的访问方式,同时提供Xunit测试框架,快速搭建服务器/客户端,免费ChatGPTAPI接口,免费通讯服务器,XFE下载器,新增格式等
关注
0
Fork
0
Star
0
返回提交历史
Modified
XFEExtension.NetCore/XFEExtension.NetCore.csproj
+2
-3
Modified
XFEExtension.NetCore/XUnit/XFECode.cs
+51
-51
XFEstudio/XFEExtension
优化名称规范
29900bd
代码差异
2 个文件
+53
-54
@@ -5,7 +5,7 @@
5
5
<ImplicitUsings>enable</ImplicitUsings>
6
6
<Nullable>enable</Nullable>
7
7
<GenerateDocumentationFile>True</GenerateDocumentationFile>
8
<Version>4.0.3</Version>
8
<Version>4.0.4</Version>
9
9
<Title>XFEExtension</Title>
10
10
<RepositoryUrl>https://github.com/XFEstudio/XFEExtension</RepositoryUrl>
11
11
<AnalysisLevel>latest</AnalysisLevel>
@@ -21,8 +21,7 @@
21
21
<PackageReleaseNotes>
22
22
## 调整
23
23
24
重命名WsHeader为WSHeader并升级版本至4.0.3
25
统一CyberCommServerEventArgs参数名为WSHeader,更新相关注释以保持一致性;在类型声明后补充了发送文本消息的注释说明;项目版本号由4.0.2提升至4.0.3。
24
优化代码架构
26
25
27
26
## 新增
28
27
@@ -15,10 +15,10 @@ namespace XFEExtension.NetCore.XUnit;
15
15
/// </summary>
16
16
public abstract class XFECode
17
17
{
18
private static int _cTimeCounter;
19
private static bool _initialized;
20
private static bool _currentMethodIsAsserted;
21
private static string _currentAssertMessage = string.Empty;
18
private static int s_cTimeCounter;
19
private static bool s_initialized;
20
private static bool s_currentMethodIsAsserted;
21
private static string s_currentAssertMessage = string.Empty;
22
22
#region 暂停
23
23
/// <summary>
24
24
/// 暂停
@@ -103,23 +103,23 @@ public abstract class XFECode
103
103
timeCounter.Start();
104
104
action?.Invoke();
105
105
timeCounter.Stop();
106
_cTimeCounter++;
106
s_cTimeCounter++;
107
107
var elapsedTime = timeCounter.Elapsed;
108
108
if (!autoOutPut)
109
109
return elapsedTime;
110
110
111
111
if (elapsedTime.TotalHours >= 1)
112
Console.WriteLine($"标识名:{timerName}\t执行批次:{_cTimeCounter}\t执行时间:{elapsedTime}");
112
Console.WriteLine($"标识名:{timerName}\t执行批次:{s_cTimeCounter}\t执行时间:{elapsedTime}");
113
113
else if (elapsedTime.TotalMinutes >= 1)
114
Console.WriteLine($"标识名:{timerName}\t执行批次:{_cTimeCounter}\t执行时间: {Math.Floor(elapsedTime.TotalMinutes)} 分 {elapsedTime.Seconds} 秒");
114
Console.WriteLine($"标识名:{timerName}\t执行批次:{s_cTimeCounter}\t执行时间: {Math.Floor(elapsedTime.TotalMinutes)} 分 {elapsedTime.Seconds} 秒");
115
115
else if (elapsedTime.TotalSeconds >= 1)
116
Console.WriteLine($"标识名:{timerName}\t执行批次:{_cTimeCounter}\t执行时间: {elapsedTime.TotalSeconds:F3} 秒");
116
Console.WriteLine($"标识名:{timerName}\t执行批次:{s_cTimeCounter}\t执行时间: {elapsedTime.TotalSeconds:F3} 秒");
117
117
else if (elapsedTime.TotalMilliseconds >= 1)
118
Console.WriteLine($"标识名:{timerName}\t执行批次:{_cTimeCounter}\t执行时间: {elapsedTime.TotalMilliseconds:F3} 毫秒");
118
Console.WriteLine($"标识名:{timerName}\t执行批次:{s_cTimeCounter}\t执行时间: {elapsedTime.TotalMilliseconds:F3} 毫秒");
119
119
else if (elapsedTime.TotalMicroseconds >= 1)
120
Console.WriteLine($"标识名:{timerName}\t执行批次:{_cTimeCounter}\t执行时间: {elapsedTime.TotalMicroseconds:F3} 微秒");
120
Console.WriteLine($"标识名:{timerName}\t执行批次:{s_cTimeCounter}\t执行时间: {elapsedTime.TotalMicroseconds:F3} 微秒");
121
121
else
122
Console.WriteLine($"标识名:{timerName}\t执行批次:{_cTimeCounter}\t执行时间: {elapsedTime.TotalNanoseconds:F3} 纳秒");
122
Console.WriteLine($"标识名:{timerName}\t执行批次:{s_cTimeCounter}\t执行时间: {elapsedTime.TotalNanoseconds:F3} 纳秒");
123
123
return elapsedTime;
124
124
}
125
125
/// <summary>
@@ -135,23 +135,23 @@ public abstract class XFECode
135
135
timeCounter.Start();
136
136
await action?.Invoke()!;
137
137
timeCounter.Stop();
138
_cTimeCounter++;
138
s_cTimeCounter++;
139
139
var elapsedTime = timeCounter.Elapsed;
140
140
if (!autoOutPut)
141
141
return elapsedTime;
142
142
143
143
if (elapsedTime.TotalHours >= 1)
144
Console.WriteLine($"标识名:{timerName}\t执行批次:{_cTimeCounter}\t执行时间:{elapsedTime}");
144
Console.WriteLine($"标识名:{timerName}\t执行批次:{s_cTimeCounter}\t执行时间:{elapsedTime}");
145
145
else if (elapsedTime.TotalMinutes >= 1)
146
Console.WriteLine($"标识名:{timerName}\t执行批次:{_cTimeCounter}\t执行时间: {Math.Floor(elapsedTime.TotalMinutes)} 分 {elapsedTime.Seconds} 秒");
146
Console.WriteLine($"标识名:{timerName}\t执行批次:{s_cTimeCounter}\t执行时间: {Math.Floor(elapsedTime.TotalMinutes)} 分 {elapsedTime.Seconds} 秒");
147
147
else if (elapsedTime.TotalSeconds >= 1)
148
Console.WriteLine($"标识名:{timerName}\t执行批次:{_cTimeCounter}\t执行时间: {elapsedTime.TotalSeconds:F3} 秒");
148
Console.WriteLine($"标识名:{timerName}\t执行批次:{s_cTimeCounter}\t执行时间: {elapsedTime.TotalSeconds:F3} 秒");
149
149
else if (elapsedTime.TotalMilliseconds >= 1)
150
Console.WriteLine($"标识名:{timerName}\t执行批次:{_cTimeCounter}\t执行时间: {elapsedTime.TotalMilliseconds:F3} 毫秒");
150
Console.WriteLine($"标识名:{timerName}\t执行批次:{s_cTimeCounter}\t执行时间: {elapsedTime.TotalMilliseconds:F3} 毫秒");
151
151
else if (elapsedTime.TotalMicroseconds >= 1)
152
Console.WriteLine($"标识名:{timerName}\t执行批次:{_cTimeCounter}\t执行时间: {elapsedTime.TotalMicroseconds:F3} 微秒");
152
Console.WriteLine($"标识名:{timerName}\t执行批次:{s_cTimeCounter}\t执行时间: {elapsedTime.TotalMicroseconds:F3} 微秒");
153
153
else
154
Console.WriteLine($"标识名:{timerName}\t执行批次:{_cTimeCounter}\t执行时间: {elapsedTime.TotalNanoseconds:F3} 纳秒");
154
Console.WriteLine($"标识名:{timerName}\t执行批次:{s_cTimeCounter}\t执行时间: {elapsedTime.TotalNanoseconds:F3} 纳秒");
155
155
return elapsedTime;
156
156
}
157
157
/// <summary>
@@ -161,9 +161,9 @@ public abstract class XFECode
161
161
/// <exception cref="XFEExtensionException"></exception>
162
162
public static async Task RunTest()
163
163
{
164
if (_initialized)
164
if (s_initialized)
165
165
return;
166
_initialized = true;
166
s_initialized = true;
167
167
var isFirstClass = true;
168
168
//var subClasses = Assembly.GetEntryAssembly()?.GetTypes().Where(type => type.IsSubclassOf(typeof(XFECode)));
169
169
var allClasses = Assembly.GetEntryAssembly()?.GetTypes();
@@ -282,7 +282,7 @@ public abstract class XFECode
282
282
}
283
283
}
284
284
}
285
_currentMethodIsAsserted = false;
285
s_currentMethodIsAsserted = false;
286
286
if (method.ReturnType == typeof(Task))
287
287
{
288
288
timeCounter.Start();
@@ -311,15 +311,15 @@ public abstract class XFECode
311
311
}
312
312
}
313
313
}
314
if (_currentMethodIsAsserted)
314
if (s_currentMethodIsAsserted)
315
315
{
316
316
isSuccessful = false;
317
317
if (failedMessage == string.Empty)
318
failedMessage = _currentAssertMessage;
318
failedMessage = s_currentAssertMessage;
319
319
else
320
failedMessage += $"\n{_currentAssertMessage}";
321
_currentMethodIsAsserted = false;
322
_currentAssertMessage = string.Empty;
320
failedMessage += $"\n{s_currentAssertMessage}";
321
s_currentMethodIsAsserted = false;
322
s_currentAssertMessage = string.Empty;
323
323
}
324
324
}
325
325
catch (Exception e)
@@ -328,7 +328,7 @@ public abstract class XFECode
328
328
failedMessage = e.InnerException is not null ? e.InnerException.Message : e.Message;
329
329
}
330
330
var elapsedTime = timeCounter.Elapsed - selfTimeCounter.Elapsed;
331
_cTimeCounter++;
331
s_cTimeCounter++;
332
332
Console.BackgroundColor = ConsoleColor.Black;
333
333
Console.WriteLine();
334
334
Console.BackgroundColor = mainColor;
@@ -338,7 +338,7 @@ public abstract class XFECode
338
338
Console.ForegroundColor = mainColor;
339
339
Console.Write("\t执行批次:");
340
340
Console.ForegroundColor = counterColor;
341
Console.Write(_cTimeCounter);
341
Console.Write(s_cTimeCounter);
342
342
Console.ForegroundColor = mainColor;
343
343
Console.Write("\t执行时间:");
344
344
Console.ForegroundColor = timeColor;
@@ -542,7 +542,7 @@ public abstract class XFECode
542
542
object? result = null;
543
543
try
544
544
{
545
_currentMethodIsAsserted = false;
545
s_currentMethodIsAsserted = false;
546
546
if (useXFEConsole)
547
547
{
548
548
if (Type.GetType("XFEExtension.NetCore.XFEConsole.XFEConsole, XFEExtension.NetCore.XFEConsole") is { } type)
@@ -583,15 +583,15 @@ public abstract class XFECode
583
583
}
584
584
}
585
585
}
586
if (_currentMethodIsAsserted)
586
if (s_currentMethodIsAsserted)
587
587
{
588
588
isSuccessful = false;
589
589
if (failedMessage == string.Empty)
590
failedMessage = _currentAssertMessage;
590
failedMessage = s_currentAssertMessage;
591
591
else
592
failedMessage += $"\n{_currentAssertMessage}";
593
_currentMethodIsAsserted = false;
594
_currentAssertMessage = string.Empty;
592
failedMessage += $"\n{s_currentAssertMessage}";
593
s_currentMethodIsAsserted = false;
594
s_currentAssertMessage = string.Empty;
595
595
}
596
596
}
597
597
catch (Exception e)
@@ -600,7 +600,7 @@ public abstract class XFECode
600
600
failedMessage = e.InnerException is not null ? e.InnerException.Message : e.Message;
601
601
}
602
602
var elapsedTime = timeCounter.Elapsed - selfTimeCounter.Elapsed;
603
_cTimeCounter++;
603
s_cTimeCounter++;
604
604
Console.BackgroundColor = ConsoleColor.Black;
605
605
Console.WriteLine();
606
606
Console.BackgroundColor = mainColor;
@@ -610,7 +610,7 @@ public abstract class XFECode
610
610
Console.ForegroundColor = mainColor;
611
611
Console.Write("\t执行批次:");
612
612
Console.ForegroundColor = counterColor;
613
Console.Write(_cTimeCounter);
613
Console.Write(s_cTimeCounter);
614
614
Console.ForegroundColor = mainColor;
615
615
Console.Write("\t执行时间:");
616
616
Console.ForegroundColor = timeColor;
@@ -651,7 +651,7 @@ public abstract class XFECode
651
651
Console.BackgroundColor = ConsoleColor.Black;
652
652
Console.ForegroundColor = failColor;
653
653
Console.WriteLine($"\t失败原因:{failedMessage}");
654
failedList.Add(new MethodAndCounter(method, _cTimeCounter, failedMessage));
654
failedList.Add(new MethodAndCounter(method, s_cTimeCounter, failedMessage));
655
655
}
656
656
Console.BackgroundColor = ConsoleColor.Black;
657
657
Console.Write("\n");
@@ -672,7 +672,7 @@ public abstract class XFECode
672
672
}
673
673
}
674
674
classTimeCounter.Stop();
675
_cTimeCounter++;
675
s_cTimeCounter++;
676
676
Console.WriteLine("\n\n\n\n\n");
677
677
Console.BackgroundColor = mainColor;
678
678
Console.ForegroundColor = ConsoleColor.Black;
@@ -681,7 +681,7 @@ public abstract class XFECode
681
681
Console.ForegroundColor = mainColor;
682
682
Console.Write("\t执行批次:");
683
683
Console.ForegroundColor = counterColor;
684
Console.Write(_cTimeCounter);
684
Console.Write(s_cTimeCounter);
685
685
Console.ForegroundColor = mainColor;
686
686
Console.Write("\t执行时间:");
687
687
Console.ForegroundColor = timeColor;
@@ -748,8 +748,8 @@ public abstract class XFECode
748
748
{
749
749
if (condition)
750
750
return true;
751
_currentMethodIsAsserted = true;
752
_currentAssertMessage = "断言失败:期望为真,实际为假";
751
s_currentMethodIsAsserted = true;
752
s_currentAssertMessage = "断言失败:期望为真,实际为假";
753
753
return false;
754
754
}
755
755
@@ -762,8 +762,8 @@ public abstract class XFECode
762
762
{
763
763
if (condition)
764
764
return true;
765
_currentMethodIsAsserted = true;
766
_currentAssertMessage = message;
765
s_currentMethodIsAsserted = true;
766
s_currentAssertMessage = message;
767
767
return false;
768
768
}
769
769
@@ -775,8 +775,8 @@ public abstract class XFECode
775
775
{
776
776
if (!condition)
777
777
return true;
778
_currentMethodIsAsserted = true;
779
_currentAssertMessage = "断言失败:期望为假,实际为真";
778
s_currentMethodIsAsserted = true;
779
s_currentAssertMessage = "断言失败:期望为假,实际为真";
780
780
return false;
781
781
}
782
782
@@ -789,8 +789,8 @@ public abstract class XFECode
789
789
{
790
790
if (!condition)
791
791
return true;
792
_currentMethodIsAsserted = true;
793
_currentAssertMessage = message;
792
s_currentMethodIsAsserted = true;
793
s_currentAssertMessage = message;
794
794
return false;
795
795
}
796
796
@@ -805,8 +805,8 @@ public abstract class XFECode
805
805
var result = !EqualityComparer<T>.Default.Equals(expected, actual);
806
806
if (!result)
807
807
return true;
808
_currentMethodIsAsserted = true;
809
_currentAssertMessage = $"断言失败:期望 {expected},实际 {actual}";
808
s_currentMethodIsAsserted = true;
809
s_currentAssertMessage = $"断言失败:期望 {expected},实际 {actual}";
810
810
return false;
811
811
}
812
812
@@ -822,8 +822,8 @@ public abstract class XFECode
822
822
var result = !EqualityComparer<T>.Default.Equals(expected, actual);
823
823
if (!result)
824
824
return true;
825
_currentMethodIsAsserted = true;
826
_currentAssertMessage = message;
825
s_currentMethodIsAsserted = true;
826
s_currentAssertMessage = message;
827
827
return false;
828
828
}
829
829
}