Skip to content

Commit 2dc60ce

Browse files
authored
Merge pull request #22 from Umplify/issue_21
Test developers' loggers can now be added to the fixture #24
2 parents 9c8347d + 96c375e commit 2dc60ce

File tree

2 files changed

+7
-4
lines changed

2 files changed

+7
-4
lines changed

README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,9 @@ public T GetScopedService<T>(ITestOutputHelper testOutputHelper);
3434
public T GetService<T>(ITestOutputHelper testOutputHelper);
3535
```
3636

37+
### Adding custom logging provider
38+
Test developers can add their own desired logger provider by overriding ```AddLoggingProvider(...)``` virtual method defined in ```TestBedFixture``` class.
39+
3740
### Preparing Xunit test classes
3841
Your Xunit test class must be derived from ```Xunit.Microsoft.DependencyInjection.Abstracts.TestBed<T>``` class where ```T``` should be your fixture class derived from ```TestBedFixture```.
3942

src/Abstracts/TestBedFixture.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ public IServiceProvider GetServiceProvider(ITestOutputHelper testOutputHelper)
2727
return _serviceProvider;
2828
}
2929

30-
_services.AddLogging(loggingBuilder => loggingBuilder.AddProvider(new OutputLoggerProvider(testOutputHelper)));
30+
_services.AddLogging(loggingBuilder => AddLoggingProvider(loggingBuilder, new OutputLoggerProvider(testOutputHelper)));
3131
return _serviceProvider = _services.BuildServiceProvider();
3232
}
3333

@@ -41,12 +41,12 @@ public T GetScopedService<T>(ITestOutputHelper testOutputHelper)
4141
public T GetService<T>(ITestOutputHelper testOutputHelper)
4242
=> GetServiceProvider(testOutputHelper).GetService<T>();
4343

44-
public void AddOutputHelperToLoggerProvider(ITestOutputHelper testOutputHelper)
45-
=> _services.AddScoped<ILoggerProvider>(_ => new OutputLoggerProvider(testOutputHelper));
46-
4744
protected abstract string GetConfigurationFile();
4845
protected abstract void AddServices(IServiceCollection services, IConfiguration configuration);
4946

47+
protected virtual ILoggingBuilder AddLoggingProvider(ILoggingBuilder loggingBuilder, ILoggerProvider loggerProvider)
48+
=> loggingBuilder.AddProvider(loggerProvider);
49+
5050
private IConfigurationRoot GetConfigurationRoot()
5151
{
5252
var configurationFile = GetConfigurationFile();

0 commit comments

Comments
 (0)