Dreamine.FullKit.Tests 1.0.0.0
Dreamine.FullKit.Tests 기능을 검증하는 자동화 테스트 프로젝트입니다.
로딩중...
검색중...
일치하는것 없음
Dreamine.FullKit.Tests.Logging.LoggingServiceTests 클래스 참조sealed

더 자세히 ...

클래스

class  RecordingSink
class  ThrowingSink

Public 멤버 함수

void InMemoryLogStore_EnforcesCapacityAndRaisesEvent ()
void DreamineLogger_FiltersBelowMinimumAndSuppressesSinkFailures ()
void CompositeLogSink_WritesToAllSinksAndSuppressesFailures ()
void TextFileLogSink_WritesFormattedEntryToDailyFile ()
async Task DreamineLoggingRegistration_ReturnsShutdownHandleWithoutConcreteSinkCoupling ()

정적 Private 멤버 함수

static DreamineLogEntry Entry (string message)

상세한 설명

Logging Service Tests 기능과 관련 상태를 캡슐화합니다.

LoggingServiceTests.cs 파일의 22 번째 라인에서 정의되었습니다.

멤버 함수 문서화

◆ CompositeLogSink_WritesToAllSinksAndSuppressesFailures()

void Dreamine.FullKit.Tests.Logging.LoggingServiceTests.CompositeLogSink_WritesToAllSinksAndSuppressesFailures ( )
inline

Composite Log Sink Writes To All Sinks And Suppresses Failures 작업을 수행합니다.

LoggingServiceTests.cs 파일의 80 번째 라인에서 정의되었습니다.

81 {
82 var first = new RecordingSink();
83 var second = new RecordingSink();
84 using var composite = new CompositeLogSink(new IDreamineLogSink[]
85 {
86 first,
87 new ThrowingSink(),
88 second
89 });
90
91 composite.Write(Entry("message"));
92
93 Assert.Single(first.Entries);
94 Assert.Single(second.Entries);
95 }

다음을 참조함 : Entry().

이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:

◆ DreamineLogger_FiltersBelowMinimumAndSuppressesSinkFailures()

void Dreamine.FullKit.Tests.Logging.LoggingServiceTests.DreamineLogger_FiltersBelowMinimumAndSuppressesSinkFailures ( )
inline

Dreamine Logger Filters Below Minimum And Suppresses Sink Failures 작업을 수행합니다.

LoggingServiceTests.cs 파일의 56 번째 라인에서 정의되었습니다.

57 {
58 var sink = new RecordingSink();
59 var throwing = new ThrowingSink();
60 var logger = new DreamineLogger(new IDreamineLogSink[] { sink, throwing }, DreamineLogLevel.Warning, "Test");
61
62 logger.Info("ignored");
63 logger.Warning("kept");
64
65 var entry = Assert.Single(sink.Entries);
66 Assert.Equal(DreamineLogLevel.Warning, entry.Level);
67 Assert.Equal("Test", entry.Category);
68 Assert.Equal("kept", entry.Message);
69 }

◆ DreamineLoggingRegistration_ReturnsShutdownHandleWithoutConcreteSinkCoupling()

async Task Dreamine.FullKit.Tests.Logging.LoggingServiceTests.DreamineLoggingRegistration_ReturnsShutdownHandleWithoutConcreteSinkCoupling ( )
inline

Dreamine Logging Registration Returns Shutdown Handle Without Concrete Sink Coupling 작업을 수행합니다.

반환값
Dreamine Logging Registration Returns Shutdown Handle Without Concrete Sink Coupling 작업에서 생성한 Task 결과입니다.

LoggingServiceTests.cs 파일의 147 번째 라인에서 정의되었습니다.

148 {
149 var directory = Path.Combine(Path.GetTempPath(), "DreamineFullKitTests", Guid.NewGuid().ToString("N"));
150 Directory.CreateDirectory(directory);
151 DMContainer.Reset();
152
153 try
154 {
155 await using IAsyncDisposable shutdownHandle =
156 DreamineLoggingRegistration.Register(new DreamineLoggingOptions
157 {
158 Category = "RegistrationTest",
159 LogDirectory = directory,
160 ShutdownTimeout = TimeSpan.FromMilliseconds(500)
161 });
162
163 Assert.NotNull(shutdownHandle);
164 Assert.IsNotType<AsyncQueueSink>(shutdownHandle);
165 Assert.NotNull(DMContainer.Resolve<IDreamineLogger>());
166 Assert.NotNull(DMContainer.Resolve<IDreamineLogSink>());
167 Assert.NotNull(DMContainer.Resolve<AsyncQueueSink>());
168 }
169 finally
170 {
171 DMContainer.Reset();
172 if (Directory.Exists(directory))
173 {
174 Directory.Delete(directory, recursive: true);
175 }
176 }
177 }

◆ Entry()

DreamineLogEntry Dreamine.FullKit.Tests.Logging.LoggingServiceTests.Entry ( string message)
inlinestaticprivate

Entry 작업을 수행합니다.

매개변수
message처리할 메시지입니다.
반환값
Entry 작업에서 생성한 DreamineLogEntry 결과입니다.

LoggingServiceTests.cs 파일의 203 번째 라인에서 정의되었습니다.

204 {
205 return new DreamineLogEntry(
206 DateTimeOffset.UnixEpoch,
207 DreamineLogLevel.Info,
208 "Test",
209 message,
210 exception: null,
211 threadId: 1);
212 }

다음에 의해서 참조됨 : CompositeLogSink_WritesToAllSinksAndSuppressesFailures(), InMemoryLogStore_EnforcesCapacityAndRaisesEvent(), TextFileLogSink_WritesFormattedEntryToDailyFile().

이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ InMemoryLogStore_EnforcesCapacityAndRaisesEvent()

void Dreamine.FullKit.Tests.Logging.LoggingServiceTests.InMemoryLogStore_EnforcesCapacityAndRaisesEvent ( )
inline

In Memory Log Store Enforces Capacity And Raises Event 작업을 수행합니다.

LoggingServiceTests.cs 파일의 33 번째 라인에서 정의되었습니다.

34 {
35 var store = new InMemoryLogStore(capacity: 2);
36 var added = new List<string>();
37 store.LogAdded += (_, entry) => added.Add(entry.Message);
38
39 store.Add(Entry("one"));
40 store.Add(Entry("two"));
41 store.Add(Entry("three"));
42
43 Assert.Equal(new[] { "one", "two", "three" }, added);
44 Assert.Equal(new[] { "two", "three" }, store.GetEntries().Select(entry => entry.Message));
45 }

다음을 참조함 : Entry().

이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:

◆ TextFileLogSink_WritesFormattedEntryToDailyFile()

void Dreamine.FullKit.Tests.Logging.LoggingServiceTests.TextFileLogSink_WritesFormattedEntryToDailyFile ( )
inline

Text File Log Sink Writes Formatted Entry To Daily File 작업을 수행합니다.

LoggingServiceTests.cs 파일의 106 번째 라인에서 정의되었습니다.

107 {
108 var directory = Path.Combine(Path.GetTempPath(), "DreamineFullKitTests", Guid.NewGuid().ToString("N"));
109 Directory.CreateDirectory(directory);
110
111 try
112 {
113 using (var sink = new TextFileLogSink(directory, new DreamineTextLogFormatter(), flushEveryWriteCount: 1))
114 {
115 sink.Write(Entry("file message"));
116 }
117
118 var file = Assert.Single(Directory.GetFiles(directory, "*.log"));
119 Assert.Contains("file message", File.ReadAllText(file));
120 }
121 finally
122 {
123 if (Directory.Exists(directory))
124 {
125 Directory.Delete(directory, recursive: true);
126 }
127 }
128 }

다음을 참조함 : Entry().

이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:

이 클래스에 대한 문서화 페이지는 다음의 파일로부터 생성되었습니다.: